diff options
author | chai <chaifix@163.com> | 2018-08-24 20:47:59 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-08-24 20:47:59 +0800 |
commit | b52aa211c801a0cc15ed09553e3ff1835662b60b (patch) | |
tree | 58eddcc673a88f2d1912267bf6d26cd3565b32f7 /src/lua/modules/thread/Thread.cpp | |
parent | 106dfe48c40fdb24b7f5e8a84c992d15363a38d9 (diff) |
*update
Diffstat (limited to 'src/lua/modules/thread/Thread.cpp')
-rw-r--r-- | src/lua/modules/thread/Thread.cpp | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/lua/modules/thread/Thread.cpp b/src/lua/modules/thread/Thread.cpp index 5c9cb1f..7dfac25 100644 --- a/src/lua/modules/thread/Thread.cpp +++ b/src/lua/modules/thread/Thread.cpp @@ -12,9 +12,11 @@ namespace lua using thread::Thread; + typedef Ref<Thread>& ThreadRef; + int luaopen_thread(lua_State* L); - static inline Ref<Thread>& checkThread(lua_State* L) + static inline ThreadRef checkThread(lua_State* L) { Proxy* proxy = (Proxy*)luax_checktype(L, 1, JIN_THREAD_THREAD); return proxy->getRef<Thread>(); @@ -22,7 +24,7 @@ namespace lua static int threadRunner(void* t) { - Ref<Thread>& ref = *(Ref<Thread>*)t; + ThreadRef ref = *(Ref<Thread>*)t; lua_State* L = lua_open(); luax_openlibs(L); luaopen_jin(L); @@ -45,7 +47,7 @@ namespace lua static int l_start(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); bool result = ref->start(&ref); luax_pushboolean(L, result); return 1; @@ -53,14 +55,14 @@ namespace lua static int l_wait(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); ref->wait(); return 0; } static int l_send(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); int slot = luax_checkinteger(L, 2); const int vp = 3; if (luax_isnumberstrict(L, vp)) @@ -93,7 +95,7 @@ namespace lua static int l_receive(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); int slot = luax_checkinteger(L, 2); bool result = ref->receive(slot); luax_pushboolean(L, result); @@ -102,7 +104,7 @@ namespace lua static int l_fetch(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); int slot = luax_checkinteger(L, 2); Thread::Variant v = ref->fetch(slot); switch (v.type) @@ -136,7 +138,7 @@ namespace lua static int l_demand(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); int slot = luax_checkinteger(L, 2); Thread::Variant v = ref->demand(slot); switch (v.type) @@ -170,7 +172,7 @@ namespace lua static int l_remove(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); int slot = luax_checkinteger(L, 2); ref->remove(slot); return 0; @@ -178,7 +180,7 @@ namespace lua static int l_getName(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); const char* name = ref->getName(); luax_pushstring(L, name); return 1; @@ -186,7 +188,7 @@ namespace lua static int l_isRunning(lua_State* L) { - Ref<Thread>& ref = checkThread(L); + ThreadRef ref = checkThread(L); bool running = ref->isRunning(); luax_pushboolean(L, running); return 1; |