diff --git a/lib/genode_cpp/threads.h b/lib/genode_cpp/threads.h index a1cd61cd2c..043f808f10 100644 --- a/lib/genode_cpp/threads.h +++ b/lib/genode_cpp/threads.h @@ -13,7 +13,6 @@ #define _GENODE_CPP__THREAD_H_ #include -#include #include namespace Nim { struct SysThread; } diff --git a/lib/system/threads.nim b/lib/system/threads.nim index 4855a2b93f..7743fffff5 100644 --- a/lib/system/threads.nim +++ b/lib/system/threads.nim @@ -593,6 +593,8 @@ elif defined(genode): proc createThread*[TArg](t: var Thread[TArg], tp: proc (arg: TArg) {.thread, nimcall.}, param: TArg) = + t.core = cast[PGcThread](allocShared0(sizeof(GcThread))) + when TArg isnot void: t.data = param t.dataFn = tp when hasSharedHeap: t.stackSize = ThreadStackSize