Unblock SIGCHLD for launched processes
This commit is contained in:
parent
16885e69fe
commit
f572e331ee
|
@ -627,6 +627,13 @@ launch ( const char *executable, const char *client_id )
|
||||||
|
|
||||||
setenv( "NSM_URL", url, 1 );
|
setenv( "NSM_URL", url, 1 );
|
||||||
|
|
||||||
|
/* Ensure the launched process can receive SIGCHLD */
|
||||||
|
/* Unblocking SIGCHLD here does NOT unblock it for nsmd itself */
|
||||||
|
sigset_t mask;
|
||||||
|
sigemptyset( &mask );
|
||||||
|
sigaddset( &mask, SIGCHLD );
|
||||||
|
sigprocmask(SIG_UNBLOCK, &mask, NULL );
|
||||||
|
|
||||||
if ( -1 == execvp( executable, args ) )
|
if ( -1 == execvp( executable, args ) )
|
||||||
{
|
{
|
||||||
WARNING( "Error starting process: %s", strerror( errno ) );
|
WARNING( "Error starting process: %s", strerror( errno ) );
|
||||||
|
|
Loading…
Reference in New Issue