diff options
Diffstat (limited to 'core/src/xmake/thread')
| -rw-r--r-- | core/src/xmake/thread/sharedata_get.c | 6 | ||||
| -rw-r--r-- | core/src/xmake/thread/sharedata_set.c | 6 | ||||
| -rw-r--r-- | core/src/xmake/thread/thread_exit.c | 3 | ||||
| -rw-r--r-- | core/src/xmake/thread/thread_init.c | 6 |
4 files changed, 14 insertions, 7 deletions
diff --git a/core/src/xmake/thread/sharedata_get.c b/core/src/xmake/thread/sharedata_get.c index a239fb02d..cffc5860c 100644 --- a/core/src/xmake/thread/sharedata_get.c +++ b/core/src/xmake/thread/sharedata_get.c @@ -42,12 +42,14 @@ tb_int_t xm_thread_sharedata_get_(lua_State *lua) { tb_bool_t ok = tb_false; switch (thread_sharedata->value.kind) { case XM_THREAD_VALUE_STR: - if (tb_buffer_size(&thread_sharedata->buffer) > 0) + if (tb_buffer_size(&thread_sharedata->buffer) > 0) { lua_pushlstring(lua, (tb_char_t *)tb_buffer_data(&thread_sharedata->buffer), tb_buffer_size(&thread_sharedata->buffer)); - else + } + else { lua_pushliteral(lua, ""); + } ok = tb_true; break; case XM_THREAD_VALUE_INT: diff --git a/core/src/xmake/thread/sharedata_set.c b/core/src/xmake/thread/sharedata_set.c index 9f1e6b613..33f8a8561 100644 --- a/core/src/xmake/thread/sharedata_set.c +++ b/core/src/xmake/thread/sharedata_set.c @@ -45,10 +45,12 @@ tb_int_t xm_thread_sharedata_set(lua_State *lua) { tb_assert_and_check_return_val(data, 0); thread_sharedata->value.kind = (tb_uint32_t)XM_THREAD_VALUE_STR; - if (data_size) + if (data_size) { tb_buffer_memncpy(&thread_sharedata->buffer, (tb_byte_t const *)data, data_size); - else + } + else { tb_buffer_clear(&thread_sharedata->buffer); + } } else if (xm_lua_isinteger(lua, 2)) { thread_sharedata->value.kind = (tb_uint32_t)XM_THREAD_VALUE_INT; thread_sharedata->value.u.integer = lua_tointeger(lua, 2); diff --git a/core/src/xmake/thread/thread_exit.c b/core/src/xmake/thread/thread_exit.c index ae828805e..ca495d4a5 100644 --- a/core/src/xmake/thread/thread_exit.c +++ b/core/src/xmake/thread/thread_exit.c @@ -37,8 +37,9 @@ tb_int_t xm_thread_exit(lua_State *lua) { tb_assert_and_check_return_val(lua, 0); // is pointer? - if (!xm_lua_ispointer(lua, 1)) + if (!xm_lua_ispointer(lua, 1)) { return 0; + } // get thread xm_thread_t *thread = (xm_thread_t *)xm_lua_topointer(lua, 1); diff --git a/core/src/xmake/thread/thread_init.c b/core/src/xmake/thread/thread_init.c index 2a792463a..2d3e067f7 100644 --- a/core/src/xmake/thread/thread_init.c +++ b/core/src/xmake/thread/thread_init.c @@ -46,8 +46,9 @@ static tb_int_t xm_thread_func(tb_cpointer_t priv) { tb_assert_and_check_return_val(thread, 0); xm_engine_ref_t engine = xm_engine_pool_alloc(xm_engine_pool()); - if (!engine) + if (!engine) { engine = xm_engine_init(XM_THREAD_ENGINE_NAME, tb_null); + } if (engine) { lua_State *lua = xm_engine_lua(engine); tb_assert(lua); @@ -71,8 +72,9 @@ static tb_int_t xm_thread_func(tb_cpointer_t priv) { // start engine tb_char_t *argv[] = { XM_THREAD_ENGINE_NAME, tb_null }; xm_engine_main(engine, 1, argv, tb_null); - if (!xm_engine_pool_free(xm_engine_pool(), engine)) + if (!xm_engine_pool_free(xm_engine_pool(), engine)) { xm_engine_exit(engine); + } } return 0; } |
