From: Jérôme Benoit Date: Tue, 8 Jul 2025 15:04:29 +0000 (+0200) Subject: refactor: ensure safer access to worker node status X-Git-Tag: v5.0.6~5 X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=a92483beb1e3f715455dd11b4f8f0c0c4b56d488;p=poolifier.git refactor: ensure safer access to worker node status Signed-off-by: Jérôme Benoit --- diff --git a/src/pools/abstract-pool.ts b/src/pools/abstract-pool.ts index f69921b5c..2d8255f92 100644 --- a/src/pools/abstract-pool.ts +++ b/src/pools/abstract-pool.ts @@ -2082,11 +2082,19 @@ export abstract class AbstractPool< private isWorkerNodeBackPressured (workerNodeKey: number): boolean { const workerNode = this.workerNodes[workerNodeKey] + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (workerNode == null) { + return false + } return workerNode.info.ready && workerNode.info.backPressure } private isWorkerNodeBusy (workerNodeKey: number): boolean { const workerNode = this.workerNodes[workerNodeKey] + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (workerNode == null) { + return false + } if (this.opts.enableTasksQueue === true) { return ( workerNode.info.ready && @@ -2100,6 +2108,10 @@ export abstract class AbstractPool< private isWorkerNodeIdle (workerNodeKey: number): boolean { const workerNode = this.workerNodes[workerNodeKey] + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (workerNode == null) { + return false + } if (this.opts.enableTasksQueue === true) { return ( workerNode.info.ready && @@ -2112,6 +2124,10 @@ export abstract class AbstractPool< private isWorkerNodeStealing (workerNodeKey: number): boolean { const workerNode = this.workerNodes[workerNodeKey] + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (workerNode == null) { + return false + } return ( workerNode.info.ready && (workerNode.info.continuousStealing ||