From d6ce585ef3a1aa8ed6cd83a31708b8fc4f1e841a Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Thu, 5 May 2022 00:36:24 -0700 Subject: cleanup hook --- src/javascript/jsc/javascript.zig | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/javascript/jsc/javascript.zig') diff --git a/src/javascript/jsc/javascript.zig b/src/javascript/jsc/javascript.zig index 06f0c47a1..f6147a1dd 100644 --- a/src/javascript/jsc/javascript.zig +++ b/src/javascript/jsc/javascript.zig @@ -584,6 +584,16 @@ pub const VirtualMachine = struct { return this.event_loop; } + pub fn onExit(this: *VirtualMachine) void { + var rare_data = this.rare_data orelse return; + var hook = rare_data.cleanup_hook orelse return; + hook.execute(); + while (hook.next) |next| { + next.execute(); + hook = next; + } + } + pub const EventLoop = struct { ready_tasks_count: std.atomic.Atomic(u32) = std.atomic.Atomic(u32).init(0), pending_tasks_count: std.atomic.Atomic(u32) = std.atomic.Atomic(u32).init(0), -- cgit v1.2.3