Skip to content

Commit 72f8ed7

Browse files
committed
debug test_async
1 parent 61e1f55 commit 72f8ed7

File tree

9 files changed

+17
-3
lines changed

9 files changed

+17
-3
lines changed

core/src/xmake/thread/event_exit.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ tb_int_t xm_thread_event_exit(lua_State* lua)
4545
if (thread_event->handle)
4646
{
4747
tb_event_exit(thread_event->handle);
48+
tb_trace_i("tb_event_exit %p", thread_event->handle);
4849
thread_event->handle = tb_null;
4950
}
5051
tb_free(thread_event);

core/src/xmake/thread/event_init.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ tb_int_t xm_thread_event_init(lua_State* lua)
4646

4747
thread_event->refn = 1;
4848
thread_event->handle = tb_event_init();
49+
tb_trace_i("tb_event_init: %p", thread_event->handle);
4950
tb_assert_and_check_break(thread_event->handle);
5051

5152
xm_lua_pushpointer(lua, (tb_pointer_t)thread_event);

core/src/xmake/thread/event_post.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ tb_int_t xm_thread_event_post(lua_State* lua)
4141
tb_assert_and_check_return_val(thread_event && thread_event->handle, 0);
4242

4343
lua_pushboolean(lua, tb_event_post(thread_event->handle));
44+
tb_trace_i("tb_event_post: %p ok", thread_event->handle);
4445
return 1;
4546
}
4647

core/src/xmake/thread/event_wait.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ tb_int_t xm_thread_event_wait(lua_State* lua)
4141
tb_assert_and_check_return_val(thread_event && thread_event->handle, 0);
4242

4343
tb_long_t timeout = (tb_long_t)luaL_checknumber(lua, 2);
44-
lua_pushinteger(lua, tb_event_wait(thread_event->handle, timeout));
44+
tb_long_t wait = tb_event_wait(thread_event->handle, timeout);
45+
tb_trace_i("tb_event_wait: %p, %ld %ld", thread_event->handle, wait, timeout);
46+
lua_pushinteger(lua, wait);
4547
return 1;
4648
}
4749

tests/modules/os/test.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ function test_async(t)
155155
io.writefile(path.join(tmpdir, "foo.txt"), "foo")
156156
io.writefile(path.join(tmpdir, "bar.txt"), "bar")
157157
local files = os.files(path.join(tmpdir, "*.txt"), {async = true})
158+
print("files", files)
158159
t:require(files and #files == 2)
159160

160161
os.cp(tmpdir, tmpdir2, {async = true, detach = true})

tests/test_utils/test_assert.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ local test_assert = { print_error = import("print_error", { anonymous = true }).
66

77
function test_assert:require(value)
88
if not value then
9-
self:print_error(vformat("require ${green}true${reset} but got ${red}%s${reset}", value), self.filename)
9+
self:print_error(vformat("require ${green}true${reset} but got ${red}%s${reset}", tostring(value)), self.filename)
1010
end
1111
end
1212

xmake/core/base/private/async_task.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,10 @@ local sharedata_pool = {}
4343
-- get event from pool or create new one
4444
function async_task._get_event()
4545
local event = table.remove(event_pool)
46+
print("get event", event)
4647
if not event then
4748
event = thread.event()
49+
print("new", event)
4850
end
4951
return event
5052
end
@@ -231,6 +233,7 @@ end
231233
function async_task._post_task(cmd, is_detach, return_data)
232234
local cmd_event, cmd_result
233235

236+
print("post task")
234237
-- create event and result for non-detach mode
235238
if not is_detach then
236239
cmd_event = async_task._get_event()
@@ -255,10 +258,13 @@ function async_task._post_task(cmd, is_detach, return_data)
255258
else
256259
-- wait for completion
257260
task_event:post()
261+
print("wait event")
258262
cmd_event:wait(-1)
263+
print("wait ok")
259264
local result = cmd_result:get()
260265
async_task._put_event(cmd_event)
261266
async_task._put_sharedata(cmd_result)
267+
print("return", result, return_data)
262268
if result and result.ok then
263269
if return_data then
264270
return result.data, #result.data

xmake/core/base/thread.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,7 @@ end
388388
-- @return ok, errors
389389
--
390390
function _event:post()
391+
print("event post", self, debug.traceback())
391392
local ok, errors = self:_ensure_opened()
392393
if not ok then
393394
return false, errors
@@ -401,6 +402,7 @@ end
401402

402403
-- wait event
403404
function _event:wait(timeout)
405+
print("event wait", self)
404406
local ok, errors = self:_ensure_opened()
405407
if not ok then
406408
return false, errors

0 commit comments

Comments
 (0)