genode/repos/base-fiasco/src/core
Stefan Kalkowski 0f05fa6fd4 base: resolve dead lock in weak pointer templates
This commit eliminates the mutual interlaced taking of destruction lock,
list lock and weak pointer locks that could lead to a dead-lock situation
when a lock pointer was tried to construct while a weak object is in
destruction progress.
Now, all weak pointers are invalidated and dequeued at the very
beginning of the weak object's destruction. Moreover, before a weak pointer
gets invalidated during destruction of a weak object, it gets dequeued, and
the list lock is freed again to avoid the former dead-lock.

Fix #1607
2015-07-21 09:30:04 +02:00
..
include base: remove pager code from public API 2015-07-01 14:46:15 +02:00
x86 Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
cpu_session_support.cc CPU session: apply quota via relative weightings 2015-05-06 10:55:16 +02:00
io_mem_session_support.cc Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
ipc_pager.cc base: remove pager code from public API 2015-07-01 14:46:15 +02:00
irq_session_component.cc base: remove shared irq from core 2015-05-26 09:39:47 +02:00
pager.cc base: remove pager code from public API 2015-07-01 14:46:15 +02:00
platform_pd.cc base: resolve dead lock in weak pointer templates 2015-07-21 09:30:04 +02:00
platform_thread.cc thread API & CPU session: accounting of CPU quota 2014-11-28 12:02:37 +01:00
platform.cc base: make PD session upgradeable 2015-05-26 09:40:02 +02:00
ram_session_support.cc Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
rm_session_support.cc Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
target.inc base: remove pager code from public API 2015-07-01 14:46:15 +02:00
thread_start.cc thread API & CPU session: accounting of CPU quota 2014-11-28 12:02:37 +01:00