From f9c4cefe5907432e9823747029b6604521d71931 Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Wed, 9 Apr 2025 09:01:04 +0800 Subject: [PATCH] Update zig-js-runtime, wait for loop on wpt error Updates zig-js-runtime to latest, reverting the loop reset change. This solves the introduced memory leak. On WPT error, call js_env.wait() to ensure all pending events are completed. Without this, on error, the code is likely to crash as the timeout callback executes AFTER env.deinit() is called. This is now possible to do safely on Mac now that cancel is pseudo-implemented. --- src/wpt/run.zig | 1 + vendor/zig-js-runtime | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/wpt/run.zig b/src/wpt/run.zig index a4a9750d..e0a0c3f0 100644 --- a/src/wpt/run.zig +++ b/src/wpt/run.zig @@ -75,6 +75,7 @@ pub fn run(arena: *std.heap.ArenaAllocator, comptime dir: []const u8, f: []const .renderer = &renderer, }); defer js_env.deinit(); + errdefer js_env.wait() catch unreachable; var storageShelf = storage.Shelf.init(alloc); defer storageShelf.deinit(); diff --git a/vendor/zig-js-runtime b/vendor/zig-js-runtime index ce1bffb8..f3a9e3d4 160000 --- a/vendor/zig-js-runtime +++ b/vendor/zig-js-runtime @@ -1 +1 @@ -Subproject commit ce1bffb8f5b1f30ce5f085fc81c3376a114b9753 +Subproject commit f3a9e3d448cd56a709ec2d101c05507e894d8e6f