diff options
Diffstat (limited to 'src/javascript/jsc/javascript.zig')
-rw-r--r-- | src/javascript/jsc/javascript.zig | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/javascript/jsc/javascript.zig b/src/javascript/jsc/javascript.zig index f775863e0..a5c9f1e01 100644 --- a/src/javascript/jsc/javascript.zig +++ b/src/javascript/jsc/javascript.zig @@ -332,6 +332,9 @@ pub const VirtualMachine = struct { rare_data: ?*JSC.RareData = null, poller: JSC.Poller = JSC.Poller{}, + us_loop_reference_count: usize = 0, + disable_run_us_loop: bool = false, + is_us_loop_entered: bool = false, pub fn io(this: *VirtualMachine) *IO { if (this.io_ == null) { @@ -361,6 +364,16 @@ pub const VirtualMachine = struct { return this.event_loop; } + pub fn prepareLoop(this: *VirtualMachine) void { + var loop = this.uws_event_loop.?; + _ = loop.addPostHandler(*JSC.EventLoop, this.eventLoop(), JSC.EventLoop.tick); + } + + pub fn enterUWSLoop(this: *VirtualMachine) void { + var loop = this.uws_event_loop.?; + loop.run(); + } + pub fn onExit(this: *VirtualMachine) void { var rare_data = this.rare_data orelse return; var hook = rare_data.cleanup_hook orelse return; |