mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-20 14:13:09 +00:00
base: activate Rpc_entrypoint explicitly in dtor
The Rpc_exit call is delivered via RPC which results in a deadlock if the Rpc_entrypoint has not been started yet. To prevent this situation we active the Rpc_entrypoint explicitly before we call Rpc_exit. Fixes #811.
This commit is contained in:
parent
a341f744ce
commit
505f4290ec
@ -120,6 +120,12 @@ Rpc_entrypoint::~Rpc_entrypoint()
|
||||
{
|
||||
typedef Object_pool<Rpc_object_base> Pool;
|
||||
|
||||
/*
|
||||
* We have to make sure the server loop is running which is only the case
|
||||
* if the Rpc_entrypoint was actived before we execute the RPC call.
|
||||
*/
|
||||
_delay_start.unlock();
|
||||
|
||||
/* leave server loop */
|
||||
_exit_cap.call<Exit::Rpc_exit>();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user