From e28c7cd0665364bb910fe2cead882623c23c28ac Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 30 Nov 2016 15:07:43 +0100 Subject: tree-wide: set SA_RESTART for signal handlers we install We already set it in most cases, but make sure to set it in all others too, and document that that's a good idea. --- src/activate/activate.c | 2 +- src/nspawn/nspawn.c | 2 +- src/udev/udevadm-monitor.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/activate/activate.c b/src/activate/activate.c index a0cfc22000..6ebd820410 100644 --- a/src/activate/activate.c +++ b/src/activate/activate.c @@ -339,7 +339,7 @@ static void sigchld_hdl(int sig) { static int install_chld_handler(void) { static const struct sigaction act = { - .sa_flags = SA_NOCLDSTOP, + .sa_flags = SA_NOCLDSTOP|SA_RESTART, .sa_handler = sigchld_hdl, }; diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index e739df7f72..ea50be25ea 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -3632,7 +3632,7 @@ static int run(int master, static const struct sigaction sa = { .sa_handler = nop_signal_handler, - .sa_flags = SA_NOCLDSTOP, + .sa_flags = SA_NOCLDSTOP|SA_RESTART, }; _cleanup_release_lock_file_ LockFile uid_shift_lock = LOCK_FILE_INIT; diff --git a/src/udev/udevadm-monitor.c b/src/udev/udevadm-monitor.c index f631834341..11abebb351 100644 --- a/src/udev/udevadm-monitor.c +++ b/src/udev/udevadm-monitor.c @@ -143,7 +143,7 @@ static int adm_monitor(struct udev *udev, int argc, char *argv[]) { /* set signal handlers */ act.sa_handler = sig_handler; - act.sa_flags = SA_RESTART; + act.sa_flags = SA_RESTART|SA_RESTART; sigaction(SIGINT, &act, NULL); sigaction(SIGTERM, &act, NULL); sigemptyset(&mask); -- cgit v1.2.3-54-g00ecf