diff --git a/src/async/posix_event_loop.zig b/src/async/posix_event_loop.zig index 6ab59c66f7..7ee6c5d31d 100644 --- a/src/async/posix_event_loop.zig +++ b/src/async/posix_event_loop.zig @@ -592,8 +592,10 @@ pub const FilePoll = struct { poll.flags.insert(.ignore_updates); this.pending_free_tail = poll; - bun.assert(vm.after_event_loop_callback == null or vm.after_event_loop_callback == @as(?JSC.OpaqueCallback, @ptrCast(&processDeferredFrees))); - vm.after_event_loop_callback = @ptrCast(&processDeferredFrees); + + const callback = JSC.OpaqueWrap(Store, processDeferredFrees); + bun.assert(vm.after_event_loop_callback == null or vm.after_event_loop_callback == @as(?JSC.OpaqueCallback, callback)); + vm.after_event_loop_callback = callback; vm.after_event_loop_callback_ctx = this; } }; diff --git a/src/async/windows_event_loop.zig b/src/async/windows_event_loop.zig index 0943d1959b..6ac815a849 100644 --- a/src/async/windows_event_loop.zig +++ b/src/async/windows_event_loop.zig @@ -358,8 +358,10 @@ pub const FilePoll = struct { poll.flags.insert(.ignore_updates); this.pending_free_tail = poll; - bun.assert(vm.after_event_loop_callback == null or vm.after_event_loop_callback == @as(?JSC.OpaqueCallback, @ptrCast(&processDeferredFrees))); - vm.after_event_loop_callback = @ptrCast(&processDeferredFrees); + + const callback = JSC.OpaqueWrap(Store, processDeferredFrees); + bun.assert(vm.after_event_loop_callback == null or vm.after_event_loop_callback == @as(?JSC.OpaqueCallback, callback)); + vm.after_event_loop_callback = callback; vm.after_event_loop_callback_ctx = this; } };