]> Piment Noir Git Repositories - poolifier.git/commitdiff
fix: use strict object equality in tasks stealing code
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 26 Aug 2025 14:31:18 +0000 (16:31 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 26 Aug 2025 14:31:18 +0000 (16:31 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
src/pools/abstract-pool.ts

index 3a1fb9fd951bf2f35d6549c7b38ec3370c6a6424..6da9d16278dffb5b4c0aa888c526b6ebba45c140 100644 (file)
@@ -1877,8 +1877,8 @@ export abstract class AbstractPool<
       return
     }
     const { workerId } = eventDetail
-    const sourceWorkerNode =
-      this.workerNodes[this.getWorkerNodeKeyByWorkerId(workerId)]
+    const sourceWorkerNodeKey = this.getWorkerNodeKeyByWorkerId(workerId)
+    const sourceWorkerNode = this.workerNodes[sourceWorkerNodeKey]
     // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
     if (sourceWorkerNode == null) {
       return
@@ -1894,7 +1894,7 @@ export abstract class AbstractPool<
         break
       }
       if (
-        workerNode.info.id !== workerId &&
+        workerNode !== sourceWorkerNode &&
         !workerNode.info.backPressureStealing &&
         workerNode.usage.tasks.queued <
           // eslint-disable-next-line @typescript-eslint/no-non-null-assertion