mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-24 07:46:42 +00:00
base: catch ipc error in signal proxy
actually do what the comments says ... Issue #2584
This commit is contained in:
parent
a38ec2854a
commit
bf74c1694d
@ -121,9 +121,11 @@ void Entrypoint::_process_incoming_signals()
|
|||||||
* destroyed. In that case we will get an ipc error exception
|
* destroyed. In that case we will get an ipc error exception
|
||||||
* as result, which has to be caught.
|
* as result, which has to be caught.
|
||||||
*/
|
*/
|
||||||
|
try {
|
||||||
retry<Blocking_canceled>(
|
retry<Blocking_canceled>(
|
||||||
[&] () { _signal_proxy_cap.call<Signal_proxy::Rpc_signal>(); },
|
[&] () { _signal_proxy_cap.call<Signal_proxy::Rpc_signal>(); },
|
||||||
[] () { warning("blocking canceled during signal processing"); });
|
[] () { warning("blocking canceled during signal processing"); });
|
||||||
|
} catch (Genode::Ipc_error) { /* ignore - context got destroyed in meantime */ }
|
||||||
|
|
||||||
cmpxchg(&_signal_recipient, SIGNAL_PROXY, NONE);
|
cmpxchg(&_signal_recipient, SIGNAL_PROXY, NONE);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user