genode/base/src/core/include
Alexander Boettcher 4ece3b3c77 Deadlock fix in rm_session on NOVA platform
Rm_client is derived from Pager_object. If the Pager_object is also
derived from Thread_base (which is the case for NOVA) then the
Rm_client object must be destructed without holding the rm_session_object
lock. The native platform specific Thread_base implementation has to take
care that all in-flight page handling requests are finished before
destruction. On NOVA it is done by doing an IPC to the pager thread.
(performed in Pager_object::dissolve() in base-nova). The
called thread than executes its operation until end which also requires
in some cases to take the rm_session_object lock.

Since _client_slab insertion/deletion also must be performed
synchronized but can't be protected by the rm_session_object lock
because of the described dead_lock situation, we have
to use a synchronized allocator object to perform insertion and
deletion of Rm_clients.
2012-07-04 14:56:47 +02:00
..
cap_root.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
cap_session_component.h Rename tid() to dst() in Native_capability. 2012-03-10 15:52:19 +01:00
core_env.h Add support for allocating DMA memory 2012-06-20 09:17:48 +02:00
core_mem_alloc.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
core_parent.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
core_rm_session.h Add an 'executable' flag to 'Rm_session::attach()' 2012-04-20 11:21:19 +02:00
cpu_root.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
cpu_session_component.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
dataspace_component.h Add support for allocating DMA memory 2012-06-20 09:17:48 +02:00
io_mem_root.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
io_mem_session_component.h Add support for allocating DMA memory 2012-06-20 09:17:48 +02:00
io_port_root.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
io_port_session_component.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
irq_root.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
irq_session_component.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
log_root.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
log_session_component.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
multiboot.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
pd_root.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
pd_session_component.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
platform_generic.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
ram_root.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
ram_session_component.h Add support for allocating DMA memory 2012-06-20 09:17:48 +02:00
rm_root.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
rm_session_component.h Deadlock fix in rm_session on NOVA platform 2012-07-04 14:56:47 +02:00
rom_fs.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
rom_root.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
rom_session_component.h Support for dynamic ROM sessions, fix #170 2012-04-05 11:25:26 +02:00
signal_root.h Increase stack size of entry points 2012-05-09 20:55:48 +02:00
signal_session_component.h Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00