aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/webcore/AbortSignal.cpp
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-04-04 16:47:57 -0700
committerGravatar GitHub <noreply@github.com> 2023-04-04 16:47:57 -0700
commit54d6f95f43774f92dddcbd91a669eec4a9f24d38 (patch)
tree67cd00278f8e054192c48547b642ec337f17e7c3 /src/bun.js/bindings/webcore/AbortSignal.cpp
parent76adc5be8a4f35730bbd81f06f043073e7160af8 (diff)
downloadbun-54d6f95f43774f92dddcbd91a669eec4a9f24d38.tar.gz
bun-54d6f95f43774f92dddcbd91a669eec4a9f24d38.tar.zst
bun-54d6f95f43774f92dddcbd91a669eec4a9f24d38.zip
Dylan/fix some failing tests (#2544)
* handle `umask()` invalid arguments * move `bktree-fast` to test root, fix postinstall * fix fs test * could be baseline * handle different timezones * accidentally deleted tests * fix hang in `AbortSignal.timeout` * bring abort tests back * Revert "bring abort tests back" This reverts commit 0ff2ad5bf408694ac719b8ba0a38b16070e10201. * bunx node-gyp * bun x * fix typecheck * test * Update inspect.test.js --------- Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
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;
}