Skip to content

spawnSync: make signal-forwarding register/unregister safe for concurrent callers - #30956

Open
robobun wants to merge 14 commits into
mainfrom
farm/a5eb0a5e/spawnsync-sigpwr
Open

spawnSync: make signal-forwarding register/unregister safe for concurrent callers#30956
robobun wants to merge 14 commits into
mainfrom
farm/a5eb0a5e/spawnsync-sigpwr

spawnSync: make signal-forwarding register/unregister reentrant

ed97b02
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed Aug 16, 2026 in 14m 2s

Code review found 1 important issue

Found 4 candidates, confirmed 2. See review comments for details.

Details

Severity Count
🔴 Important 1
🟡 Nit 1
🟣 Pre-existing 0
Severity File:Line Issue
🔴 Important test/js/bun/spawn/spawnSync-sigpwr-gc.test.ts:11-19 Test does not exercise the mutex/depth guard and can pass vacuously

Annotations

Check failure on line 19 in test/js/bun/spawn/spawnSync-sigpwr-gc.test.ts

See this annotation in the file changed.

@claude claude / Claude Code Review

Test does not exercise the mutex/depth guard and can pass vacuously

This test asserts only that the child doesn't die with SIGPWR — but SIGPWR is already excluded from `FOR_EACH_LINUX_ONLY_SIGNAL` on the base branch (#31183), and the SIGIOT/SIGPOLL alias removal also already landed (#36711), so this test passes on main without the mutex/depth guard that is now the only code change in this PR. Per the PR's own 2026-08-13 triage note, it needs a test that observes a forwarded signal like SIGINT/SIGTERM being left on the wrong disposition after overlapping register