genode/repos/base/include/base
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
..
trace Move Session_label from os to base 2016-07-11 13:09:24 +02:00
affinity.h Revised API documentation 2015-04-09 16:04:46 +02:00
allocator_avl.h base: make Allocator_avl::_avl_tree accessable 2017-02-07 19:20:30 +01:00
allocator_guard.h base: avoid use of deprecated base/printf.h 2016-08-29 17:27:10 +02:00
allocator.h base: free memory of object throwing exception 2016-11-30 13:37:05 +01:00
attached_dataspace.h Warn about the use of deprecated env() function 2017-01-13 13:07:13 +01:00
attached_io_mem_dataspace.h Warn about the use of deprecated env() function 2017-01-13 13:07:13 +01:00
attached_ram_dataspace.h Warn about the use of deprecated env() function 2017-01-13 13:07:13 +01:00
attached_rom_dataspace.h Warn about the use of deprecated env() function 2017-01-13 13:07:13 +01:00
blocking.h Revised API documentation 2015-04-09 16:04:46 +02:00
cache.h base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
cancelable_lock.h Thread API cleanup 2016-05-23 15:49:55 +02:00
capability.h Allow RPC arguments w/o default constructor 2016-11-30 13:38:03 +01:00
child.h base: handle dangling env sessions in ~Child 2017-01-20 16:47:01 +01:00
component.h base: remove Component::name from API 2016-05-23 15:49:56 +02:00
connection.h Warn about the use of deprecated env() function 2017-01-13 13:07:13 +01:00
console.h Revised API documentation 2015-04-09 16:04:46 +02:00
debug.h Redefine PDBG to use new log output function 2016-10-21 12:45:44 +02:00
entrypoint.h base: entrypoint 'wait_and_dispatch_one_signal' 2017-02-27 15:37:50 +01:00
env.h Remove blocking calls from root and parent RPCs 2016-11-25 16:06:42 +01:00
exception.h base,os: Coding-style unification 2015-03-13 12:17:23 +01:00
heap.h base: rename 'Volatile_object' to 'Reconstructible' 2016-12-01 17:46:50 +01:00
id_space.h base: new 'Id_space' data structure 2016-11-25 15:30:58 +01:00
ipc_msgbuf.h Remove base/native_types.h headers 2016-07-11 12:06:50 +02:00
ipc.h Allow RPC arguments w/o default constructor 2016-11-30 13:38:03 +01:00
local_connection.h base: apply routing policy to environment sessions 2016-12-23 16:52:08 +01:00
lock_guard.h Revised API documentation 2015-04-09 16:04:46 +02:00
lock.h base: coding style 2015-04-09 16:04:45 +02:00
log.h base: document error-message style conventions 2016-08-29 17:27:10 +02:00
native_capability_tpl.h Cleanup of parent-cap handling 2016-07-11 13:05:27 +02:00
native_capability.h base: throw exception on cap-ref-count overflow 2016-11-30 13:37:04 +01:00
object_pool.h Remove inconsistent use of 'is_' prefix 2016-05-23 15:52:39 +02:00
output.h base: forward args in Output::print 2016-11-25 15:27:27 +01:00
printf.h base: remove original PDBG from base/printf.h 2016-11-08 15:26:27 +01:00
registry.h base: new 'Registry' data structure 2016-11-25 15:30:58 +01:00
rpc_args.h Remove inconsistent use of 'is_' prefix 2016-05-23 15:52:39 +02:00
rpc_client.h Allow RPC arguments w/o default constructor 2016-11-30 13:38:03 +01:00
rpc_server.h Warn about the use of deprecated headers 2017-01-31 12:01:18 +01:00
rpc.h Allow RPC arguments w/o default constructor 2016-11-30 13:38:03 +01:00
semaphore.h base: minimize critical section in Semaphore::up 2015-12-10 13:16:27 +01:00
service.h base: apply routing policy to environment sessions 2016-12-23 16:52:08 +01:00
session_label.h Make label prefixing more strict 2016-11-30 13:37:07 +01:00
session_state.h base: rename 'Volatile_object' to 'Reconstructible' 2016-12-01 17:46:50 +01:00
shared_object.h base/shared_object.h: add missing includes 2017-02-07 11:12:23 +01:00
signal.h base: entrypoint 'wait_and_dispatch_one_signal' 2017-02-27 15:37:50 +01:00
slab.h base: optimized slab allocator 2016-04-25 10:47:56 +02:00
sleep.h base: remove kernel-specific base/sleep.h 2016-03-07 12:34:44 +01:00
snprintf.h Revised API documentation 2015-04-09 16:04:46 +02:00
stdint.h Define Genode::size_t as unsigned long 2016-10-21 12:39:29 +02:00
synced_allocator.h safeguard the synchronized allocator template 2015-09-30 12:20:39 +02:00
synced_interface.h base: update include guards 2016-03-07 12:34:45 +01:00
thread_state_base.h base: changes for GDB monitor 2016-05-23 15:52:49 +02:00
thread_state.h hw: remove access_thread_regs syscall 2015-09-09 15:14:27 +02:00
thread.h base: add 'Thread::mystack() function 2016-07-11 12:06:05 +02:00
tslab.h base: hide slab implementation details from API 2016-04-25 10:47:56 +02:00
weak_ptr.h base: avoid use of deprecated base/printf.h 2016-08-29 17:27:10 +02:00