From 553a4222f462e2ba123d4bac9cfe4272f1889ec5 Mon Sep 17 00:00:00 2001 From: Sebastian Sumpf Date: Tue, 21 Feb 2017 14:45:00 +0100 Subject: [PATCH] base: entrypoint dissolve signal proxy If not dissolved in ~Entrypoint, the signal proxy is found within NOVA's and FOC's object pool upon Rpc_entrypoint destruction. This leads to a deadlock because the signal proxy is destructed before the RPC EP. issue #2284 --- repos/base/include/base/entrypoint.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/repos/base/include/base/entrypoint.h b/repos/base/include/base/entrypoint.h index 4b4e351bcf..6bb3578575 100644 --- a/repos/base/include/base/entrypoint.h +++ b/repos/base/include/base/entrypoint.h @@ -131,6 +131,11 @@ class Genode::Entrypoint : Genode::Noncopyable Entrypoint(Env &env, size_t stack_size, char const *name); + ~Entrypoint() + { + _rpc_ep->dissolve(&_signal_proxy); + } + /** * Associate RPC object with the entry point */