summaryrefslogtreecommitdiff
path: root/scripts/check-token
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-06-03 23:31:20 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-06-03 23:31:20 +0000
commitad4fcd22ec6f7408d1efc6a2bb0009c2377f57a6 (patch)
tree796aae4be732b853568680bc6bc6ee59012061bd /scripts/check-token
parent16110bec8b6ece5837560fb626ab30d8cdec0e81 (diff)
fix: release dispatch slot on all early-return paths in execute()
p.active was incremented by dispatch() before launching execute(), but execute() had four early-return paths (budget gate, dep terminal failure, deps not ready, per-agent limit) that returned before the defer decActiveAgent was registered. Each such return leaked a slot, eventually saturating maxConcurrent and permanently blocking dispatch() on doneCh. Introduce releaseDispatchSlot() (decrements p.active + signals doneCh) and defer it at the very top of execute() and executeResume(), so every exit path releases the dispatch slot. Remove p.active and doneCh management from decActiveAgent so it only handles the per-agent counter. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'scripts/check-token')
0 files changed, 0 insertions, 0 deletions