RFR: 8357683: (process) SIGQUIT still blocked after JDK-8234262 with jdk.lang.Process.launchMechanism=FORK or VFORK [v2]
Thomas Stuefe
stuefe at openjdk.org
Sat May 24 10:15:44 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.
Thomas Stuefe has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision:
- Merge branch 'openjdk:master' into JDK-8357683-process-SIGQUIT-still-blocked-after-JDK-8234262-with-jdk-lang-Process-launchMechanism=FORK-or-VFORK
- unblock signals in fork mode
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/25428/files
- new: https://git.openjdk.org/jdk/pull/25428/files/6e759200..0744f5b9
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=25428&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=25428&range=00-01
Stats: 732 lines in 27 files changed: 298 ins; 297 del; 137 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