diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/sigaction.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/sigaction.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/sigaction.c b/sysdeps/unix/sysv/linux/sigaction.c index c95e3d158c..d8f1d260a7 100644 --- a/sysdeps/unix/sysv/linux/sigaction.c +++ b/sysdeps/unix/sysv/linux/sigaction.c @@ -133,6 +133,25 @@ __libc_sigaction (sig, act, oact) #endif } +#ifndef SIGCANCEL weak_alias (__libc_sigaction, __sigaction) libc_hidden_weak (__sigaction) weak_alias (__libc_sigaction, sigaction) +#else +int +__sigaction (sig, act, oact) + int sig; + const struct sigaction *act; + struct sigaction *oact; +{ + if (sig == SIGCANCEL) + { + __set_errno (EINVAL); + return -1; + } + + return __libc_sigaction (sig, act, oact); +} +libc_hidden_weak (__sigaction) +weak_alias (__sigaction, sigaction) +#endif |