aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/webcore/AbortSignal.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/bindings/webcore/AbortSignal.cpp')
-rw-r--r--src/bun.js/bindings/webcore/AbortSignal.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/bun.js/bindings/webcore/AbortSignal.cpp b/src/bun.js/bindings/webcore/AbortSignal.cpp
index febc610b7..28a60d9e0 100644
--- a/src/bun.js/bindings/webcore/AbortSignal.cpp
+++ b/src/bun.js/bindings/webcore/AbortSignal.cpp
@@ -71,7 +71,14 @@ Ref<AbortSignal> AbortSignal::timeout(ScriptExecutionContext& context, uint64_t
Locker locker { vm.apiLock() };
signal->signalAbort(toJS(globalObject, globalObject, DOMException::create(TimeoutError)));
};
- context.postTaskOnTimeout(WTFMove(action), Seconds::fromMilliseconds(milliseconds));
+
+ if (milliseconds == 0) {
+ // immediately write to task queue
+ context.postTask(WTFMove(action));
+ } else {
+ context.postTaskOnTimeout(WTFMove(action), Seconds::fromMilliseconds(milliseconds));
+ }
+
return signal;
}