Files
codewhale/crates/tools
Hunter Bown a06bbe57a6 fix(tools): replace cross-await RwLock with Semaphore to prevent deadlock
Replace `Arc<RwLock<()>>` in ToolCallRuntime with `Arc<Semaphore>` to
eliminate the risk of a tool re-entering and deadlocking on the same lock.
Parallel tools now acquire then immediately drop the permit, allowing
concurrent execution after any in-flight serial tool finishes. Serial
tools hold the permit for the full duration.

Fixes #2157. Harvested from #1856.

Co-authored-by: Fire-dtx <58944505+Fire-dtx@users.noreply.github.com>
2026-05-26 13:09:48 -05:00
..
2026-05-26 11:52:48 -05:00