mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
posix_spawn_wrapper: do not set POSIX_SPAWN_SETSIGDEF flag
Setting this flag is a noop without a corresponding call to posix_spawnattr_setsigdefault. If we call posix_spawnattr_setsigdefault with a full signal set, it causes glibc's posix_spawn implementation to call sigaction 63 times, once for each signal. That seems wasteful. This feature is really only useful for signals which have their disposition set to SIG_IGN. Otherwise the dispostion gets set to SIG_DFL automatically, either by clone(CLONE_CLEAR_SIGHAND) or the subsequent execve. As far as I can tell, systemd does not have any signals set to SIG_IGN under normal operating conditions.
This commit is contained in:
parent
1f9425d1c4
commit
ff94426f8a
@ -2029,7 +2029,7 @@ int posix_spawn_wrapper(
|
||||
const char *cgroup,
|
||||
PidRef *ret_pidref) {
|
||||
|
||||
short flags = POSIX_SPAWN_SETSIGMASK|POSIX_SPAWN_SETSIGDEF;
|
||||
short flags = POSIX_SPAWN_SETSIGMASK;
|
||||
posix_spawnattr_t attr;
|
||||
sigset_t mask;
|
||||
int r;
|
||||
|
Loading…
Reference in New Issue
Block a user