mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-21 06:33:31 +00:00
56cafb3b57
There was a race when the component entrypoint wanted to do 'wait_and_dispatch_one_signal'. In this function it raises a flag for the signal proxy thread to notice that the entrypoint also wants to block for signals. When the flag is set and the signal proxy wakes up with a new signal, it tried to cancel the blocking of the entrypoint. However, if the entrypoint had not reached the signal blocking at this point, the cancel blocking failed without a solution. Now, the new Kernel::cancel_next_signal_blocking call solves the problem by storing a request to cancel the next signal blocking of a thread immediately without blocking itself. Ref #2284 |
||
---|---|---|
.. | ||
kernel | ||
spec | ||
vm_session |