On Thu, 22 Sep 2022 14:26:51 GMT, Roger Riggs <rri...@openjdk.org> wrote:
> Hi Roger, Using the spawn attributes seems more far reaching than simply > temporarily changing the signal mask of the calling thread. I'd be concerned > this has some unintended side-effects. I don't think that is a good idea. If the thread receives a SIGQUIT in the time it takes to fire up posix_spawn, will it be prepared to handle the signal? Using a pthread spawn attribute is much less intrusive, since it only affects the child process. > > The launching of a new executable is a two+ step process. A small > > executable (jspawnhelper) is spawned and it does the exec of the requested > > executable. An alternate implementation is to have jspawnhelper reset its > > own signal mask before exec'ing the target application. > > Doing this in jspawnhelper would be good to try. I think using posix_spawn attributes is fine. It does what you would do manually in jspawnhelper: calling sigprocmask in the child process: https://github.com/lattera/glibc/blob/master/sysdeps/posix/spawni.c#L218 . ------------- PR: https://git.openjdk.org/jdk/pull/10379