diff options
author | 2022-05-05 00:36:24 -0700 | |
---|---|---|
committer | 2022-05-05 21:35:08 -0700 | |
commit | d6ce585ef3a1aa8ed6cd83a31708b8fc4f1e841a (patch) | |
tree | 11a20d558b19d10d006a6dd1460d7bb01ba65c50 /src/javascript/jsc/javascript.zig | |
parent | c80e048ab3d2c89eb663757b4641655d12124885 (diff) | |
download | bun-d6ce585ef3a1aa8ed6cd83a31708b8fc4f1e841a.tar.gz bun-d6ce585ef3a1aa8ed6cd83a31708b8fc4f1e841a.tar.zst bun-d6ce585ef3a1aa8ed6cd83a31708b8fc4f1e841a.zip |
cleanup hook
Diffstat (limited to 'src/javascript/jsc/javascript.zig')
-rw-r--r-- | src/javascript/jsc/javascript.zig | 10 |
1 files changed, 10 insertions, 0 deletions
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), |