diff options
author | Richard Henderson <rth@redhat.com> | 2007-03-13 16:05:44 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 2007-03-13 16:05:44 +0000 |
commit | b8097bed55c6d3e4fcdeedc231d659de60911d61 (patch) | |
tree | aaea4d41ee381a1c492fce42f89f82e85d71eafb | |
parent | 6bf4a686f5a8fc2df9b3406fe3954c224a3846ba (diff) | |
download | glibc-b8097bed55c6d3e4fcdeedc231d659de60911d61.zip glibc-b8097bed55c6d3e4fcdeedc231d659de60911d61.tar.gz glibc-b8097bed55c6d3e4fcdeedc231d659de60911d61.tar.bz2 |
* sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Add support for
__sigsuspend_nocancel.
2007-03-13 Richard Henderson <rth@redhat.com>
* sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Add support for
__sigsuspend_nocancel.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/sigsuspend.S | 13 |
2 files changed, 18 insertions, 0 deletions
@@ -1,3 +1,8 @@ +2007-03-13 Richard Henderson <rth@redhat.com> + + * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Add support for + __sigsuspend_nocancel. + 2007-03-06 Ulrich Drepper <drepper@redhat.com> * sysdeps/posix/getaddrinfo.c (get_scope): Correct test for diff --git a/sysdeps/unix/sysv/linux/alpha/sigsuspend.S b/sysdeps/unix/sysv/linux/alpha/sigsuspend.S index 48c3f27..6863c07 100644 --- a/sysdeps/unix/sysv/linux/alpha/sigsuspend.S +++ b/sysdeps/unix/sysv/linux/alpha/sigsuspend.S @@ -20,6 +20,19 @@ /* sigsuspend is a special syscall since it needs to dereference the sigset. This will have to change when we have more than 64 signals. */ +#ifndef NO_CANCELLATION +#include <sysdep.h> + +#undef PSEUDO_PREPARE_ARGS +#define PSEUDO_PREPARE_ARGS ldq a0, 0(a0); + +PSEUDO(__sigsuspend_nocancel, sigsuspend, 1) + ret +/* Use END, not PSEUDO_END, so that we don't issue two $syscall_error + symbols; we'll jump into __sigsuspend for the error case. */ +END(__sigsuspend_nocancel) +#endif /* NO_CANCELLATION */ + #include <sysdep-cancel.h> #undef PSEUDO_PREPARE_ARGS |