fixup! support for the Genode OS framework (#5653)

Allocate thread metadata at createThread.
This commit is contained in:
Emery Hemingway
2017-04-02 16:48:23 -05:00
committed by Andreas Rumpf
parent cab2ce7e87
commit dd7ebb2c95
2 changed files with 2 additions and 1 deletions

View File

@@ -13,7 +13,6 @@
#define _GENODE_CPP__THREAD_H_
#include <base/thread.h>
#include <util/avl_tree.h>
#include <util/reconstructible.h>
namespace Nim { struct SysThread; }

View File

@@ -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