Skip to content

Commit 9a7f1ea

Browse files
committed
loop: reset events before waiting during deinit
1 parent 2c418d6 commit 9a7f1ea

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/loop.zig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,12 @@ pub const SingleThreaded = struct {
8383
}
8484

8585
pub fn deinit(self: *Self) void {
86+
// first disable callbacks for existing events.
87+
// We don't want a callback re-create a setTimeout, it could create an
88+
// infinite loop on wait for events.
89+
self.resetJS();
90+
self.resetZig();
91+
8692
// run tail events. We do run the tail events to ensure all the
8793
// contexts are correcly free.
8894
while (self.eventsNb(.js) > 0 or self.eventsNb(.zig) > 0) {

0 commit comments

Comments
 (0)