commit - 094f9ac02972f82c21854aa3e29bfec506aa381f
commit + 7a04e249c1fa722589158b4cf17ccabd667525b0
blob - db9ae52bb8dacd0981508992a66f6905e9a096c3
blob + a1c41e368fc66dcea3a854180376e958f84ae0e9
--- ev/ev.ha
+++ ev/ev.ha
add: *fn(*evloop, io::file, event, *fn(io::file, event, nullable *opaque) void, nullable *opaque) void,
del: *fn(*evloop, io::file) void,
loop: *fn(*evloop) (void | poll::error),
+ loopbreak: *fn(*evloop) void,
};
type base = struct {
add = &evadd,
del = &evdel,
loop = &loop,
+ loopbreak = &evloopbreak,
sigpipe = void,
sigcb = void,
...
add = &evadd,
del = &evdel,
loop = &loop,
+ loopbreak = &evloopbreak,
sigpipe = void,
sigcb = void,
...
};
};
-export fn loopexit() void = {
- global.stop = true;
+export fn loopbreak() void = {
+ global.loopbreak(global);
};
+
+export fn evloopbreak(evloop: *evloop) void = {
+ const b = evloop: *base;
+ b.stop = true;
+};