RFR: 8234262: Unmask SIGQUIT in a child process [v2]

Roger Riggs rriggs at openjdk.org
Thu Sep 22 22:41:22 UTC 2022


On Wed, 21 Sep 2022 21:37:59 GMT, Roger Riggs <rriggs at openjdk.org> wrote:

>> Clear the signal mask of the child when launching with posix_spawn.
>> 
>> SIGQUIT signals are handled on non-Java Threads by the VM.
>> For Java threads the signal mask blocks SIGQUIT.  
>> The ProcessBuilder uses posix_spawn on all platforms to create new processes.
>> Without a specific request, the child process inherits the signal masks from the parent.
>
> Roger Riggs has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Test both with and without -Xrs

Putting the fix in jspawnhelper will address the problem in the other launch modes fork and vfork, so it not just posix_spawn fix.
SigQuit is only a problem because its one that the VM sets up to manage within the Java process.
Normal launching by the shell doesn't set any signals and I would not think a launched program would expect any masking.

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

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


More information about the core-libs-dev mailing list