diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2018-12-08 15:35:24 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-12-08 15:35:24 +0100 |
commit | b437df1157964ed012f1aeae25b68f6bbaae1787 (patch) | |
tree | de5ff5875f1d527ad2e701039477303a4e41430c | |
parent | 136fe9bede247d3273f5e82b5e856fa5c15a922c (diff) |
inetd: suppress aliasing warning
function old new delta
sigprocmask2 - 8 +8
wait_for_child_or_signal 213 218 +5
dowait 424 429 +5
block_CHLD_HUP_ALRM 62 59 -3
sigprocmask_SIG_SETMASK 16 - -16
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 2/1 up/down: 18/-19) Total: -1 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | include/libbb.h | 4 | ||||
-rw-r--r-- | libbb/signals.c | 4 | ||||
-rw-r--r-- | networking/inetd.c | 2 | ||||
-rw-r--r-- | shell/ash.c | 2 | ||||
-rw-r--r-- | shell/hush.c | 2 |
5 files changed, 7 insertions, 7 deletions
diff --git a/include/libbb.h b/include/libbb.h index 638c58412..daa96728b 100644 --- a/include/libbb.h +++ b/include/libbb.h @@ -544,8 +544,8 @@ void sig_unblock(int sig) FAST_FUNC; int sigaction_set(int sig, const struct sigaction *act) FAST_FUNC; /* SIG_BLOCK/SIG_UNBLOCK all signals: */ int sigprocmask_allsigs(int how) FAST_FUNC; -/* SIG_SETMASK set, and return old set in the same set: */ -int sigprocmask_SIG_SETMASK(sigset_t *set) FAST_FUNC; +/* Return old set in the same set: */ +int sigprocmask2(int how, sigset_t *set) FAST_FUNC; /* Standard handler which just records signo */ extern smallint bb_got_signal; void record_signo(int signo); /* not FAST_FUNC! */ diff --git a/libbb/signals.c b/libbb/signals.c index 5a1544db7..d3d84ef6a 100644 --- a/libbb/signals.c +++ b/libbb/signals.c @@ -31,14 +31,14 @@ int FAST_FUNC sigprocmask_allsigs(int how) return sigprocmask(how, &set, NULL); } -int FAST_FUNC sigprocmask_SIG_SETMASK(sigset_t *set) +int FAST_FUNC sigprocmask2(int how, sigset_t *set) { // Grr... gcc 8.1.1: // "passing argument 3 to restrict-qualified parameter aliases with argument 2" // dance around that... sigset_t *oset FIX_ALIASING; oset = set; - return sigprocmask(SIG_SETMASK, set, oset); + return sigprocmask(how, set, oset); } void FAST_FUNC bb_signals(int sigs, void (*f)(int)) diff --git a/networking/inetd.c b/networking/inetd.c index ca1a97268..8f871ee12 100644 --- a/networking/inetd.c +++ b/networking/inetd.c @@ -488,7 +488,7 @@ static void block_CHLD_HUP_ALRM(sigset_t *m) sigaddset(m, SIGCHLD); sigaddset(m, SIGHUP); sigaddset(m, SIGALRM); - sigprocmask(SIG_BLOCK, m, m); /* old sigmask is stored in m */ + sigprocmask2(SIG_BLOCK, m); /* old sigmask is stored in m */ } static void restore_sigmask(sigset_t *m) diff --git a/shell/ash.c b/shell/ash.c index 456aca4f0..a01c8fa8b 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -4217,7 +4217,7 @@ wait_block_or_sig(int *status) /* Children exist, but none are ready. Sleep until interesting signal */ #if 1 sigfillset(&mask); - sigprocmask_SIG_SETMASK(&mask); /* mask is updated */ + sigprocmask2(SIG_SETMASK, &mask); /* mask is updated */ while (!got_sigchld && !pending_sig) sigsuspend(&mask); sigprocmask(SIG_SETMASK, &mask, NULL); diff --git a/shell/hush.c b/shell/hush.c index 5953ceb9f..2e4a4bcc6 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -11442,7 +11442,7 @@ static int wait_for_child_or_signal(struct pipe *waitfor_pipe, pid_t waitfor_pid * and get stuck in sigsuspend... */ sigfillset(&oldset); /* block all signals, remember old set */ - sigprocmask_SIG_SETMASK(&oldset); + sigprocmask2(SIG_SETMASK, &oldset); if (!sigisemptyset(&G.pending_set)) { /* Crap! we raced with some signal! */ |