diff --git a/src/loop.zig b/src/loop.zig index 7e48fe0..1934043 100644 --- a/src/loop.zig +++ b/src/loop.zig @@ -114,6 +114,11 @@ pub const SingleThreaded = struct { ) void { defer ctx.loop.freeCbk(completion, ctx); + const old_events_nb = ctx.loop.removeEvent(); + if (builtin.is_test) { + report("timeout done, remaining events: {d}", .{old_events_nb - 1}); + } + // TODO: return the error to the callback result catch |err| { switch (err) { @@ -123,11 +128,6 @@ pub const SingleThreaded = struct { return; }; - const old_events_nb = ctx.loop.removeEvent(); - if (builtin.is_test) { - report("timeout done, remaining events: {d}", .{old_events_nb - 1}); - } - // js callback if (ctx.js_cbk) |js_cbk| { defer js_cbk.deinit(ctx.loop.alloc); @@ -166,17 +166,20 @@ pub const SingleThreaded = struct { ) void { defer ctx.loop.freeCbk(completion, ctx); + const old_events_nb = ctx.loop.removeEvent(); + if (builtin.is_test) { + report("cancel done, remaining events: {d}", .{old_events_nb - 1}); + } + // TODO: return the error to the callback result catch |err| { - log.err("cancel callback: {any}", .{err}); + switch (err) { + error.NotFound => log.debug("cancel callback: {any}", .{err}), + else => log.err("cancel callback: {any}", .{err}), + } return; }; - const old_events_nb = ctx.loop.removeEvent(); - if (builtin.is_test) { - report("timeout done, remaining events: {d}", .{old_events_nb - 1}); - } - // js callback if (ctx.js_cbk) |js_cbk| { defer js_cbk.deinit(ctx.loop.alloc); @@ -197,7 +200,11 @@ pub const SingleThreaded = struct { .js_cbk = js_cbk, }; + const old_events_nb = self.addEvent(); self.io.cancel(*ContextCancel, ctx, cancelCallback, completion, comp_cancel); + if (builtin.is_test) { + report("cancel {d}", .{old_events_nb + 1}); + } } // Yield