@@ -20,6 +20,8 @@ pub const IO = @import("tigerbeetle-io").IO;
20
20
const public = @import ("api.zig" );
21
21
const JSCallback = public .Callback ;
22
22
23
+ const log = std .log .scoped (.loop );
24
+
23
25
fn report (comptime fmt : []const u8 , args : anytype ) void {
24
26
const max_len = 200 ;
25
27
var buf : [max_len ]u8 = undefined ;
@@ -109,7 +111,13 @@ pub const SingleThreaded = struct {
109
111
defer ctx .loop .freeCbk (completion , ctx );
110
112
111
113
// TODO: return the error to the callback
112
- result catch | err | @panic (@errorName (err ));
114
+ result catch | err | {
115
+ switch (err ) {
116
+ error .Canceled = > {},
117
+ else = > log .err ("timeout callback: {any}" , .{err }),
118
+ }
119
+ return ;
120
+ };
113
121
114
122
const old_events_nb = ctx .loop .removeEvent ();
115
123
if (builtin .is_test ) {
@@ -155,7 +163,10 @@ pub const SingleThreaded = struct {
155
163
defer ctx .loop .freeCbk (completion , ctx );
156
164
157
165
// TODO: return the error to the callback
158
- result catch | err | @panic (@errorName (err ));
166
+ result catch | err | {
167
+ log .err ("cancel callback: {any}" , .{err });
168
+ return ;
169
+ };
159
170
160
171
const old_events_nb = ctx .loop .removeEvent ();
161
172
if (builtin .is_test ) {
@@ -176,7 +187,7 @@ pub const SingleThreaded = struct {
176
187
177
188
const completion = self .alloc .create (IO .Completion ) catch unreachable ;
178
189
completion .* = undefined ;
179
- const ctx = self .alloc .create (ContextTimeout ) catch unreachable ;
190
+ const ctx = self .alloc .create (ContextCancel ) catch unreachable ;
180
191
ctx .* = ContextCancel {
181
192
.loop = self ,
182
193
.js_cbk = js_cbk ,
0 commit comments