genode/repos/base-hw/src
Sebastian Sumpf b66716d278 base: entrypoint 'wait_and_dispatch_one_signal'
There existed a race when 'wait_and_dispatch_one_signal' is called form
a RPC context, because the 'signal_proxy' or 'main' will block and the
signal semaphore, when the EP then calls 'wait_and_dispatch_one_signal',
the signal proxy is woken up ands sends an RPC to the EP, leading to a
dead lock if no further signal arrive, because the EP will then remain
blocked in the signal semaphore.

Therefore, for this case, the signal proxy will now perform a semaphore
up operation and does not perform an RPC if the EP is within
'wait_and_dispatch_one_signal'.
2017-02-27 15:37:50 +01:00
..
bootstrap hw: bootstrap into kernel 2017-02-23 14:54:42 +01:00
core hw: bootstrap into kernel 2017-02-23 14:54:42 +01:00
include/base/internal hw: fix raw output functions for kernel 2017-02-07 19:20:29 +01:00
kernel/spec/muen muen: remove depenency to ports for make target all 2016-02-26 11:36:52 +01:00
lib base: entrypoint 'wait_and_dispatch_one_signal' 2017-02-27 15:37:50 +01:00
test test/cpu_quota: API transition 2017-01-20 16:46:58 +01:00