diff --git a/base-hw/src/base/thread/thread_bootstrap.cc b/base-hw/src/base/thread/thread_bootstrap.cc index 2642874f4..999cdb937 100644 --- a/base-hw/src/base/thread/thread_bootstrap.cc +++ b/base-hw/src/base/thread/thread_bootstrap.cc @@ -91,4 +91,5 @@ void Thread_base::_init_platform_thread(Type type) } /* adjust initial object state in case of a main thread */ tid().thread_id = _main_thread_id; + _thread_cap = env()->parent()->main_thread_cap(); } diff --git a/base-okl4/src/base/thread/thread_bootstrap.cc b/base-okl4/src/base/thread/thread_bootstrap.cc index e0cdb88d1..b9996f936 100644 --- a/base-okl4/src/base/thread/thread_bootstrap.cc +++ b/base-okl4/src/base/thread/thread_bootstrap.cc @@ -14,6 +14,7 @@ /* Genode includes */ #include +#include /* OKL4 includes */ namespace Okl4 @@ -82,4 +83,5 @@ void Genode::Thread_base::_init_platform_thread(Type type) { if (type == NORMAL) { return; } _tid.l4id.raw = main_thread_tid.raw; + _thread_cap = env()->parent()->main_thread_cap(); } diff --git a/base-pistachio/src/base/thread/thread_bootstrap.cc b/base-pistachio/src/base/thread/thread_bootstrap.cc index f6941728f..f7da3caae 100644 --- a/base-pistachio/src/base/thread/thread_bootstrap.cc +++ b/base-pistachio/src/base/thread/thread_bootstrap.cc @@ -13,6 +13,7 @@ /* Genode includes */ #include +#include /* Pistachio includes */ namespace Pistachio @@ -48,5 +49,6 @@ void Genode::Thread_base::_thread_bootstrap() void Genode::Thread_base::_init_platform_thread(Type type) { if (type == NORMAL) { return; } - _tid.l4id = main_thread_tid; + _tid.l4id = main_thread_tid; + _thread_cap = env()->parent()->main_thread_cap(); }