Browse Source

* Allow host environmentto get main and self thread IDs. Needed for inter-thread messaging in browser

Michaël Van Canneyt 6 months ago
parent
commit
0b3d059458
1 changed files with 7 additions and 1 deletions
  1. 7 1
      rtl/wasi/systhrd.inc

+ 7 - 1
rtl/wasi/systhrd.inc

@@ -118,6 +118,12 @@ begin
   GetSelfThread:=GlobalCurrentThread;
 end;
 
+Function GetMainThread : TThreadID;
+
+begin
+  Result:=PWasmThread(@MainThread);
+end;
+
 Function GetThreadState(aThread : TThreadID) : TThreadState;
 
 begin
@@ -459,7 +465,7 @@ asm
   i32.atomic.store8
 end;
 
-exports wasi_thread_start;
+exports wasi_thread_start, GetSelfThread, GetMainThread;
 
 Function wasi_thread_spawn(start_arg: PWasmThread) : LongInt; external 'wasi' name 'thread-spawn';