posix_spawnattr_setflags() doesn't OR the input to the current set of flags,
it overwrites them, so we are currently losing POSIX_SPAWN_SETSIGDEF.
Follow-up for:
6ecdfe7d1008964eed3f67b489cef8c65a218bf1
r = posix_spawnattr_init(&attr);
if (r != 0)
return -r; /* These functions return a positive errno on failure */
- r = posix_spawnattr_setflags(&attr, POSIX_SPAWN_SETSIGMASK);
- if (r != 0)
- goto fail;
- r = posix_spawnattr_setflags(&attr, POSIX_SPAWN_SETSIGDEF); /* Set all signals to SIG_DFL */
+ /* Set all signals to SIG_DFL */
+ r = posix_spawnattr_setflags(&attr, POSIX_SPAWN_SETSIGMASK|POSIX_SPAWN_SETSIGDEF);
if (r != 0)
goto fail;
r = posix_spawnattr_setsigmask(&attr, &mask);