genode/repos/base-sel4/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
boot_modules.s sel4: move core to a libaray, add boot_modules.s 2015-05-26 09:39:59 +02:00
cap_session_component.cc sel4: capability lifetime management 2015-05-26 09:39:59 +02:00
capability_space.cc sel4: IPC implementation 2015-05-26 09:39:59 +02:00
context_area.cc sel4: management of core's virtual memory 2015-05-26 09:39:57 +02:00
core_rm_session.cc sel4: RAM-session supplements 2015-05-26 09:39:58 +02:00
cpu_session_support.cc sel4: core skeleton 2015-05-26 09:39:57 +02:00
io_mem_session_support.cc sel4: core skeleton 2015-05-26 09:39:57 +02:00
irq_session_component.cc sel4: core skeleton 2015-05-26 09:39:57 +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 sel4: initialization of non-main threads 2015-05-26 09:40:01 +02:00
platform.cc sel4: reserve virt page for main-thread IPC buffer 2015-05-26 09:40:00 +02:00
ram_session_support.cc sel4: RAM-session supplements 2015-05-26 09:39:58 +02:00
rm_session_support.cc sel4: implementation of Rm_client::unmap 2015-05-26 09:40:01 +02:00
target.mk sel4: link core to different address 2015-05-26 09:40:00 +02:00
thread_start.cc sel4: bootstrap of init and page-fault handling 2015-05-26 09:40:00 +02:00