diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-12-01 21:16:46 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-12-01 21:16:46 +0000 |
commit | b0a365f74a0ac43fcbd53738844e577b2d9ec391 (patch) | |
tree | 262cc91ab047162f77df33a48891499434b56ca0 /libc/sysdeps | |
parent | fbb32ad9b6a4b6cffea1c5b4292b18c72cdadaf6 (diff) |
hostid: improve extremely unreadable parts
*: remove checks of sigaction and sigprocmask results
in cases where they clearly can't fail:
sigaction(known_good_sig)
sigprocmask(known_good_how)
text data bss dec hex filename
- 393 4 0 397 18d libc/pwd_grp/lckpwdf.o
+ 382 4 0 386 182 libc/pwd_grp/lckpwdf.o
- 56 0 0 56 38 libc/signal/sigblock.o
+ 44 0 0 44 2c libc/signal/sigblock.o
- 211 0 0 211 d3 libc/signal/sigset.o
+ 202 0 0 202 ca libc/signal/sigset.o
- 56 0 0 56 38 libc/signal/sigsetmask.o
+ 44 0 0 44 2c libc/signal/sigsetmask.o
- 309 0 0 309 135 libc/unistd/sleep.o
+ 256 0 0 256 100 libc/unistd/sleep.o
Diffstat (limited to 'libc/sysdeps')
-rw-r--r-- | libc/sysdeps/linux/alpha/sigprocmask.c | 2 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/longjmp.c | 3 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/sigprocmask.c | 4 |
3 files changed, 4 insertions, 5 deletions
diff --git a/libc/sysdeps/linux/alpha/sigprocmask.c b/libc/sysdeps/linux/alpha/sigprocmask.c index e143f61e3..832684cef 100644 --- a/libc/sysdeps/linux/alpha/sigprocmask.c +++ b/libc/sysdeps/linux/alpha/sigprocmask.c @@ -44,7 +44,7 @@ sigprocmask (int how, const sigset_t *set, sigset_t *oset) result = osf_sigprocmask(how, setval); if (result == -1) - /* If there are ever more than 63 signals, we need to recode this + /* If there are ever more than 64 signals, we need to recode this in assembler since we wouldn't be able to distinguish a mask of all 1s from -1, but for now, we're doing just fine... */ return result; diff --git a/libc/sysdeps/linux/common/longjmp.c b/libc/sysdeps/linux/common/longjmp.c index 672754a73..e600c7f13 100644 --- a/libc/sysdeps/linux/common/longjmp.c +++ b/libc/sysdeps/linux/common/longjmp.c @@ -38,8 +38,7 @@ void __libc_longjmp (sigjmp_buf env, int val) if (env[0].__mask_was_saved) /* Restore the saved signal mask. */ - (void) sigprocmask (SIG_SETMASK, &env[0].__saved_mask, - (sigset_t *) NULL); + (void) sigprocmask (SIG_SETMASK, &env[0].__saved_mask, NULL); /* Call the machine-dependent function to restore machine state. */ __longjmp (env[0].__jmpbuf, val ?: 1); diff --git a/libc/sysdeps/linux/common/sigprocmask.c b/libc/sysdeps/linux/common/sigprocmask.c index a9a913e10..febdca014 100644 --- a/libc/sysdeps/linux/common/sigprocmask.c +++ b/libc/sysdeps/linux/common/sigprocmask.c @@ -28,7 +28,7 @@ int sigprocmask(int how, const sigset_t * set, sigset_t * oldset) if (set && # if (SIG_BLOCK == 0) && (SIG_UNBLOCK == 1) && (SIG_SETMASK == 2) (((unsigned int) how) > 2) -#elif (SIG_BLOCK == 1) && (SIG_UNBLOCK == 2) && (SIG_SETMASK == 3) +# elif (SIG_BLOCK == 1) && (SIG_UNBLOCK == 2) && (SIG_SETMASK == 3) (((unsigned int)(how-1)) > 2) # else # warning "compile time assumption violated.. slow path..." @@ -55,7 +55,7 @@ int sigprocmask(int how, const sigset_t * set, sigset_t * oldset) if (set && # if (SIG_BLOCK == 0) && (SIG_UNBLOCK == 1) && (SIG_SETMASK == 2) (((unsigned int) how) > 2) -#elif (SIG_BLOCK == 1) && (SIG_UNBLOCK == 2) && (SIG_SETMASK == 3) +# elif (SIG_BLOCK == 1) && (SIG_UNBLOCK == 2) && (SIG_SETMASK == 3) (((unsigned int)(how-1)) > 2) # else # warning "compile time assumption violated.. slow path..." |