From dfab7869a90f1d9d9e2f352cea7be0bf894887b2 Mon Sep 17 00:00:00 2001 From: Alistair Smith Date: Wed, 4 Jun 2025 12:32:26 -0700 Subject: [PATCH] set ref only if not gone --- src/bun.js/web_worker.zig | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/bun.js/web_worker.zig b/src/bun.js/web_worker.zig index 950f93d71b..7c2941ad9d 100644 --- a/src/bun.js/web_worker.zig +++ b/src/bun.js/web_worker.zig @@ -545,11 +545,12 @@ fn spin(this: *WebWorker) void { /// This is worker.ref()/.unref() from JS (Caller thread) pub export fn setRef(handle: *WebWorkerLifecycleHandle, value: bool) callconv(.c) void { - if (handle.worker.?.hasRequestedTerminate()) { - return; + if (handle.worker) |worker| { + if (worker.hasRequestedTerminate()) { + return; + } + worker.setRefInternal(value); } - - handle.worker.?.setRefInternal(value); } pub fn setRefInternal(this: *WebWorker, value: bool) void {