Skip to content

Don't forward SIGPWR in sync-spawn signal forwarding - #31131

Closed
robobun wants to merge 1 commit into
mainfrom
farm/51debdae/sigpwr-gc-forwarding
Closed

Don't forward SIGPWR in sync-spawn signal forwarding#31131
robobun wants to merge 1 commit into
mainfrom
farm/51debdae/sigpwr-gc-forwarding

Don't forward SIGPWR in sync-spawn signal forwarding

0e310b4
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed May 20, 2026 in 13m 4s

Code review found 1 potential issue

Found 5 candidates, confirmed 1. See review comments for details.

Details

Severity Count
🔴 Important 0
🟡 Nit 0
🟣 Pre-existing 1
Severity File:Line Issue
🟣 Pre-existing src/jsc/bindings/c-bindings.cpp:940-942 Duplicate signal aliases (SIGIOT==SIGABRT, SIGPOLL==SIGIO) corrupt previous_actions restore

Annotations

Check notice on line 942 in src/jsc/bindings/c-bindings.cpp

See this annotation in the file changed.

@claude claude / Claude Code Review

Duplicate signal aliases (SIGIOT==SIGABRT, SIGPOLL==SIGIO) corrupt previous_actions restore

Pre-existing, but since you're already pruning this list: `SIGIOT` is an alias for `SIGABRT` (both 6) and `SIGPOLL` is an alias for `SIGIO` (both 29 on Linux), so `REGISTER_SIGNAL` runs twice for the same `previous_actions[N]` slot — the second `sigaction()` overwrites the saved original handler with the forwarder we just installed, and `Bun__unregisterSignalsForForwarding` then "restores" the forwarder instead of the user's handler. Dropping `SIGIOT` from `FOR_EACH_POSIX_SIGNAL` and `SIGPOLL` h