aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/javascript.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-05-05 00:36:24 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-05-05 21:35:08 -0700
commitd6ce585ef3a1aa8ed6cd83a31708b8fc4f1e841a (patch)
tree11a20d558b19d10d006a6dd1460d7bb01ba65c50 /src/javascript/jsc/javascript.zig
parentc80e048ab3d2c89eb663757b4641655d12124885 (diff)
downloadbun-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.zig10
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),