diff --git a/src/bun.js/bindings/napi.cpp b/src/bun.js/bindings/napi.cpp index fb56166da8..c2c496e776 100644 --- a/src/bun.js/bindings/napi.cpp +++ b/src/bun.js/bindings/napi.cpp @@ -2763,6 +2763,10 @@ extern "C" napi_status napi_call_function(napi_env env, napi_value recv, JSValue res = AsyncContextFrame::call(globalObject, funcValue, thisValue, args); + if (env->isVMTerminating()) { + return napi_set_last_error(env, napi_pending_exception); + } + if (result) { if (res.isEmpty()) { *result = toNapi(JSC::jsUndefined(), globalObject); diff --git a/src/bun.js/web_worker.zig b/src/bun.js/web_worker.zig index b3b80b8aae..7200c7ac7b 100644 --- a/src/bun.js/web_worker.zig +++ b/src/bun.js/web_worker.zig @@ -555,7 +555,7 @@ pub fn notifyNeedTermination(this: *WebWorker) callconv(.c) void { if (this.vm) |vm| { vm.eventLoop().wakeup(); - // TODO(@190n) notifyNeedTermination + vm.global.requestTermination(); } // TODO(@190n) delete