From 8a1d7006eb91ad555630846178e66682a0cef4af Mon Sep 17 00:00:00 2001 From: zixun Date: Sat, 19 Oct 2019 11:25:42 +0800 Subject: [PATCH] fix match thread, table key --- lualib-src/lua-sharetable.c | 29 +++++++++++++++++++ lualib/skynet/sharetable.lua | 56 ++++++++++++++++++++++++++++++++++-- 2 files changed, 83 insertions(+), 2 deletions(-) diff --git a/lualib-src/lua-sharetable.c b/lualib-src/lua-sharetable.c index 660d27ec..dcfd460d 100644 --- a/lualib-src/lua-sharetable.c +++ b/lualib-src/lua-sharetable.c @@ -83,6 +83,34 @@ clone_table(lua_State *L) { return 1; } +static int +lco_stackvalues(lua_State* L) { + lua_State *cL = lua_tothread(L, 1); + luaL_argcheck(L, cL, 1, "thread expected"); + int n = 0; + if(cL != L) { + luaL_checktype(L, 2, LUA_TTABLE); + n = lua_gettop(cL); + if(n > 0) { + lua_checkstack(L, n+1); + int top = lua_gettop(L); + lua_xmove(cL, L, n); + int i=0; + for(i=0; i