diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-11-29 16:46:07 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-11-29 16:46:07 +0000 |
commit | 7357e8836f7c742602f59cc8f2b97382634c59b8 (patch) | |
tree | 0c8c736305cb1922b70cd99d4d8e5f80114653e8 /libc/unistd/sleep.c | |
parent | 35ae1599438a15568818bf09b493d7b49039d452 (diff) |
shring sugnal-relared stuff a bit. BTW why constant memset is not inlined by gcc?
text data bss dec hex filename
- 38015 18096 8636 64747 fceb lib/libpthread-0.9.30-svn.so
+ 38001 18096 8636 64733 fcdd lib/libpthread-0.9.30-svn.so
- 274842 1835 19012 295689 48309 lib/libuClibc-0.9.30-svn.so
+ 274779 1835 19012 295626 482ca lib/libuClibc-0.9.30-svn.so
Diffstat (limited to 'libc/unistd/sleep.c')
-rw-r--r-- | libc/unistd/sleep.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/libc/unistd/sleep.c b/libc/unistd/sleep.c index e7152c46b..8cac306ce 100644 --- a/libc/unistd/sleep.c +++ b/libc/unistd/sleep.c @@ -66,9 +66,9 @@ unsigned int sleep (unsigned int seconds) /* Linux will wake up the system call, nanosleep, when SIGCHLD arrives even if SIGCHLD is ignored. We have to deal with it in libc. We block SIGCHLD first. */ - if (__sigemptyset (&set) < 0 - || __sigaddset (&set, SIGCHLD) < 0 - || sigprocmask (SIG_BLOCK, &set, &oset)) + __sigemptyset (&set); + __sigaddset (&set, SIGCHLD); + if (sigprocmask (SIG_BLOCK, &set, &oset)) return -1; /* If SIGCHLD is already blocked, we don't have to do anything. */ @@ -77,8 +77,8 @@ unsigned int sleep (unsigned int seconds) int saved_errno; struct sigaction oact; - if (__sigemptyset (&set) < 0 || __sigaddset (&set, SIGCHLD) < 0) - return -1; + __sigemptyset (&set); + __sigaddset (&set, SIGCHLD); /* We get the signal handler for SIGCHLD. */ if (sigaction (SIGCHLD, (struct sigaction *) NULL, &oact) < 0) @@ -136,9 +136,9 @@ unsigned int sleep (unsigned int seconds) return 0; /* block SIGALRM */ - if (__sigemptyset (&set) < 0 - || __sigaddset (&set, SIGALRM) < 0 - || sigprocmask (SIG_BLOCK, &set, &oset)) + __sigemptyset (&set); + __sigaddset (&set, SIGALRM); + if (sigprocmask (SIG_BLOCK, &set, &oset)) return seconds; act.sa_handler = sleep_alarm_handler; |