exit :: (exitcode: i32) {
runtime.__exit(exitcode);
-}
\ No newline at end of file
+}
+
+#if #defined(runtime.__sleep) {
+ sleep :: runtime.__sleep
+}
__args_sizes_get :: (argc: ^i32, arg_buf_size: ^i32) -> void ---
__exit :: (status: i32) -> void ---
+
+ __sleep :: (milliseconds: i32) -> void ---
}
#export "_start" () {
while t.alive {
#if runtime.Wait_Notify_Available {
__atomic_wait(^t.id, t.id);
+ } else {
+ // To not completely kill the CPU.
+ runtime.__sleep(1);
}
}
}
return NULL;
}
+ONYX_DEF(__sleep, (WASM_I32), ()) {
+ usleep(params->data[0].of.i32 * 1000);
+ return NULL;
+}
+
//
ONYX_FUNC(__args_sizes_get)
ONYX_FUNC(__exit)
+ ONYX_FUNC(__sleep)
ONYX_FUNC(__net_create_socket)
ONYX_FUNC(__net_close_socket)