everywhere: port everything to sigprocmask_many() and friends
This ports a lot of manual code over to sigprocmask_many() and friends. Also, we now consistly check for sigprocmask() failures with assert_se(), since the call cannot realistically fail unless there's a programming error. Also encloses a few sd_event_add_signal() calls with (void) when we ignore the return values for it knowingly.
This commit is contained in:
@@ -159,7 +159,7 @@ int sigset_add_many(sigset_t *ss, ...) {
|
||||
return r;
|
||||
}
|
||||
|
||||
int sigprocmask_many(int how, ...) {
|
||||
int sigprocmask_many(int how, sigset_t *old, ...) {
|
||||
va_list ap;
|
||||
sigset_t ss;
|
||||
int r;
|
||||
@@ -174,7 +174,7 @@ int sigprocmask_many(int how, ...) {
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (sigprocmask(how, &ss, NULL) < 0)
|
||||
if (sigprocmask(how, &ss, old) < 0)
|
||||
return -errno;
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -33,7 +33,7 @@ int default_signals(int sig, ...);
|
||||
int sigaction_many(const struct sigaction *sa, ...);
|
||||
|
||||
int sigset_add_many(sigset_t *ss, ...);
|
||||
int sigprocmask_many(int how, ...);
|
||||
int sigprocmask_many(int how, sigset_t *old, ...);
|
||||
|
||||
const char *signal_to_string(int i) _const_;
|
||||
int signal_from_string(const char *s) _pure_;
|
||||
|
||||
Reference in New Issue
Block a user