RFR: 8357683: (process) SIGQUIT still blocked after JDK-8234262 with jdk.lang.Process.launchMechanism=FORK or VFORK

Thomas Stuefe stuefe at openjdk.org
Sat May 24 05:59:25 UTC 2025


See bug description. We now unblock all signals in both FORK and POSIX_SPAWN launch modes. This fixes the problem and makes the behavior consistent across these two modes.

I left the VFORK mode alone since I believe the signal state is still shared with the parent. One more reason to get rid of this mode soon (it's deprecated with 25 and will be removed with 26)

The fix just moves the unblocking code from the jspawnhelper over to the child process function that is called for all three modes.

-----

Testing: I did various manual tests. I also tested that test/jdk/java/lang/ProcessBuilder/UnblockSignals.java succeeds with both POSIX_SPAWN and FORK mode now and that the behavior is unchanged (still broken) for VFORK mode.

ping @RogerRiggs I would like to get this still into JDK 25; the fix is small and clean enough to not worry me.

-------------

Commit messages:
 - unblock signals in fork mode

Changes: https://git.openjdk.org/jdk/pull/25428/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25428&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8357683
  Stats: 30 lines in 3 files changed: 20 ins; 6 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/25428.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25428/head:pull/25428

PR: https://git.openjdk.org/jdk/pull/25428


More information about the core-libs-dev mailing list