From: Jérôme Benoit Date: Tue, 21 Apr 2026 19:14:12 +0000 (+0200) Subject: fix: replace isAsyncFunction with instanceof Promise in handleKillMessage X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=c71e61c65de3e4b6d880cfb0c40bc5c52df5f025;p=poolifier.git fix: replace isAsyncFunction with instanceof Promise in handleKillMessage --- diff --git a/src/worker/abstract-worker.ts b/src/worker/abstract-worker.ts index ac2e55b46..d70a073d3 100644 --- a/src/worker/abstract-worker.ts +++ b/src/worker/abstract-worker.ts @@ -292,22 +292,22 @@ export abstract class AbstractWorker< */ protected handleKillMessage (message: MessageValue): void { this.stopCheckActive() - if (isAsyncFunction(this.opts.killHandler)) { - ;(this.opts.killHandler as () => Promise)() - .then(() => { - this.sendToMainWorker({ kill: 'success' }) - return undefined - }) - .catch(() => { - this.sendToMainWorker({ kill: 'failure' }) - }) - } else { - try { - ;(this.opts.killHandler as (() => void) | undefined)?.() + try { + const result = this.opts.killHandler?.() + if (result instanceof Promise) { + result + .then(() => { + this.sendToMainWorker({ kill: 'success' }) + return undefined + }) + .catch(() => { + this.sendToMainWorker({ kill: 'failure' }) + }) + } else { this.sendToMainWorker({ kill: 'success' }) - } catch { - this.sendToMainWorker({ kill: 'failure' }) } + } catch { + this.sendToMainWorker({ kill: 'failure' }) } }