mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-19 21:57:55 +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 |
||
---|---|---|
.. | ||
etc | ||
include | ||
lib | ||
mk | ||
run | ||
src | ||
README |
This is generic part of the Genode implementation. It consists of two parts: :_Core_: is the ultimate root of the Genode application tree and provides abstractions for the lowest-level hardware resources such as RAM, ROM, CPU, and generic device access. All generic parts of Core can be found here - for system-specific implementations refer to the appropriate 'base-<system>' directory. :_Base libraries and protocols_: that are used by each Genode component to interact with other components. This is the glue that holds everything together.