summaryrefslogtreecommitdiff
path: root/core/src/xmake/engine.c
diff options
context:
space:
mode:
authorruki <[email protected]>2025-08-28 23:14:13 +0800
committerruki <[email protected]>2025-08-28 23:14:13 +0800
commit628371d0edea22eb177fa2b1a6b9f28e8c0cff2d (patch)
tree2c8e834e76870f3cfa2e2b2b3b3342d69b0f83bf /core/src/xmake/engine.c
parent8a331ab64fe560924b8bc3ab3dc4ac2831dd8920 (diff)
add thread queue
Diffstat (limited to 'core/src/xmake/engine.c')
-rw-r--r--core/src/xmake/engine.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/core/src/xmake/engine.c b/core/src/xmake/engine.c
index 850be59f4..d3d48c7cc 100644
--- a/core/src/xmake/engine.c
+++ b/core/src/xmake/engine.c
@@ -368,6 +368,15 @@ tb_int_t xm_thread_semaphore_post(lua_State* lua);
tb_int_t xm_thread_semaphore_wait(lua_State* lua);
tb_int_t xm_thread_semaphore_incref(lua_State* lua);
+// the thread/queue functions
+tb_int_t xm_thread_queue_init(lua_State* lua);
+tb_int_t xm_thread_queue_exit(lua_State* lua);
+tb_int_t xm_thread_queue_size(lua_State* lua);
+tb_int_t xm_thread_queue_clear(lua_State* lua);
+tb_int_t xm_thread_queue_incref(lua_State* lua);
+tb_int_t xm_thread_queue_push(lua_State* lua);
+tb_int_t xm_thread_queue_pop(lua_State* lua);
+
// open cjson
__tb_extern_c_enter__
tb_int_t luaopen_cjson(lua_State *l);
@@ -678,6 +687,13 @@ static luaL_Reg const g_thread_functions[] =
, { "semaphore_post", xm_thread_semaphore_post }
, { "semaphore_wait", xm_thread_semaphore_wait }
, { "semaphore_incref", xm_thread_semaphore_incref }
+, { "queue_init", xm_thread_queue_init }
+, { "queue_exit", xm_thread_queue_exit }
+, { "queue_size", xm_thread_queue_size }
+, { "queue_clear", xm_thread_queue_clear }
+, { "queue_incref", xm_thread_queue_incref }
+, { "queue_push", xm_thread_queue_push }
+, { "queue_pop", xm_thread_queue_pop }
, { tb_null, tb_null }
};