mirror of
https://github.com/morgan9e/systemd
synced 2026-04-15 17:06:39 +09:00
util: make use of newly added reset_signal_mask() call wherever appropriate
This commit is contained in:
@@ -1301,7 +1301,6 @@ int exec_spawn(ExecCommand *command,
|
||||
int dont_close[n_fds + 3];
|
||||
uid_t uid = (uid_t) -1;
|
||||
gid_t gid = (gid_t) -1;
|
||||
sigset_t ss;
|
||||
int i, err;
|
||||
|
||||
/* child */
|
||||
@@ -1319,9 +1318,8 @@ int exec_spawn(ExecCommand *command,
|
||||
if (context->ignore_sigpipe)
|
||||
ignore_signals(SIGPIPE, -1);
|
||||
|
||||
assert_se(sigemptyset(&ss) == 0);
|
||||
if (sigprocmask(SIG_SETMASK, &ss, NULL) < 0) {
|
||||
err = -errno;
|
||||
err = reset_signal_mask();
|
||||
if (err < 0) {
|
||||
r = EXIT_SIGNAL_MASK;
|
||||
goto fail_child;
|
||||
}
|
||||
|
||||
@@ -1834,7 +1834,6 @@ finish:
|
||||
if (reexecute) {
|
||||
const char **args;
|
||||
unsigned i, args_size;
|
||||
sigset_t ss;
|
||||
|
||||
/* Close and disarm the watchdog, so that the new
|
||||
* instance can reinitialize it, but doesn't get
|
||||
@@ -1918,12 +1917,10 @@ finish:
|
||||
args[i++] = NULL;
|
||||
assert(i <= args_size);
|
||||
|
||||
/* reenable any blocked signals, especially important
|
||||
/* Reenable any blocked signals, especially important
|
||||
* if we switch from initial ramdisk to init=... */
|
||||
reset_all_signal_handlers();
|
||||
|
||||
assert_se(sigemptyset(&ss) == 0);
|
||||
assert_se(sigprocmask(SIG_SETMASK, &ss, NULL) == 0);
|
||||
reset_signal_mask();
|
||||
|
||||
if (switch_root_init) {
|
||||
args[0] = switch_root_init;
|
||||
|
||||
@@ -3156,9 +3156,7 @@ int main(int argc, char *argv[]) {
|
||||
kmsg_socket_pair[0] = safe_close(kmsg_socket_pair[0]);
|
||||
|
||||
reset_all_signal_handlers();
|
||||
|
||||
assert_se(sigemptyset(&mask) == 0);
|
||||
assert_se(sigprocmask(SIG_SETMASK, &mask, NULL) == 0);
|
||||
reset_signal_mask();
|
||||
|
||||
k = open_terminal(console, O_RDWR);
|
||||
if (k != STDIN_FILENO) {
|
||||
|
||||
@@ -3890,16 +3890,13 @@ void execute_directory(const char *directory, DIR *d, usec_t timeout, char *argv
|
||||
_cleanup_hashmap_free_free_ Hashmap *pids = NULL;
|
||||
_cleanup_closedir_ DIR *_d = NULL;
|
||||
struct dirent *de;
|
||||
sigset_t ss;
|
||||
|
||||
/* We fork this all off from a child process so that
|
||||
* we can somewhat cleanly make use of SIGALRM to set
|
||||
* a time limit */
|
||||
|
||||
reset_all_signal_handlers();
|
||||
|
||||
assert_se(sigemptyset(&ss) == 0);
|
||||
assert_se(sigprocmask(SIG_SETMASK, &ss, NULL) == 0);
|
||||
reset_signal_mask();
|
||||
|
||||
assert_se(prctl(PR_SET_PDEATHSIG, SIGTERM) == 0);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user