summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/avr32/sigaction.c
diff options
context:
space:
mode:
authorCarmelo Amoroso <carmelo.amoroso@st.com>2008-06-18 16:17:32 +0000
committerCarmelo Amoroso <carmelo.amoroso@st.com>2008-06-18 16:17:32 +0000
commit3d17dd647a04ad0837b063a610520fb6defb2d8d (patch)
treeca961f6290a7abc8dcb5138f336d2cbce92e82a6 /libc/sysdeps/linux/avr32/sigaction.c
parent43ee769f540704ccfc4e2a12ba11ed4b6eece196 (diff)
downloaduClibc-alpine-3d17dd647a04ad0837b063a610520fb6defb2d8d.tar.bz2
uClibc-alpine-3d17dd647a04ad0837b063a610520fb6defb2d8d.tar.xz
Synch libc nios/xtensa/v850/h8300/cris/x86_64/ia64/hppa/i382/nios2/frv/avr32 specific with trunk
Diffstat (limited to 'libc/sysdeps/linux/avr32/sigaction.c')
-rw-r--r--libc/sysdeps/linux/avr32/sigaction.c60
1 files changed, 30 insertions, 30 deletions
diff --git a/libc/sysdeps/linux/avr32/sigaction.c b/libc/sysdeps/linux/avr32/sigaction.c
index 03cc9a049..6b6b3466c 100644
--- a/libc/sysdeps/linux/avr32/sigaction.c
+++ b/libc/sysdeps/linux/avr32/sigaction.c
@@ -11,45 +11,45 @@
#include <sys/syscall.h>
#include <bits/kernel_sigaction.h>
-#define SA_RESTORER 0x04000000
+#define SA_RESTORER 0x04000000
extern void __default_rt_sa_restorer(void);
-libc_hidden_proto(memcpy)
+/* Experimentally off - libc_hidden_proto(memcpy) */
/*
* If act is not NULL, change the action for sig to *act.
* If oact is not NULL, put the old action for sig in *oact.
*/
int __libc_sigaction(int signum, const struct sigaction *act,
- struct sigaction *oldact)
+ struct sigaction *oldact)
{
- struct kernel_sigaction kact, koact;
- int result;
-
- if (act) {
- kact.k_sa_handler = act->sa_handler;
- memcpy(&kact.sa_mask, &act->sa_mask, sizeof (kact.sa_mask));
- kact.sa_flags = act->sa_flags;
- if (kact.sa_flags & SA_RESTORER)
- kact.sa_restorer = act->sa_restorer;
- else
- kact.sa_restorer = __default_rt_sa_restorer;
- kact.sa_flags |= SA_RESTORER;
- }
-
- result = __syscall_rt_sigaction(signum, act ? __ptrvalue(&kact) : NULL,
- oldact ? __ptrvalue(&koact) : NULL,
- _NSIG / 8);
-
- if (oldact && result >= 0) {
- oldact->sa_handler = koact.k_sa_handler;
- memcpy(&oldact->sa_mask, &koact.sa_mask,
- sizeof(oldact->sa_mask));
- oldact->sa_flags = koact.sa_flags;
- oldact->sa_restorer = koact.sa_restorer;
- }
-
- return result;
+ struct kernel_sigaction kact, koact;
+ int result;
+
+ if (act) {
+ kact.k_sa_handler = act->sa_handler;
+ memcpy(&kact.sa_mask, &act->sa_mask, sizeof (kact.sa_mask));
+ kact.sa_flags = act->sa_flags;
+ if (kact.sa_flags & SA_RESTORER)
+ kact.sa_restorer = act->sa_restorer;
+ else
+ kact.sa_restorer = __default_rt_sa_restorer;
+ kact.sa_flags |= SA_RESTORER;
+ }
+
+ result = __syscall_rt_sigaction(signum, act ? __ptrvalue(&kact) : NULL,
+ oldact ? __ptrvalue(&koact) : NULL,
+ _NSIG / 8);
+
+ if (oldact && result >= 0) {
+ oldact->sa_handler = koact.k_sa_handler;
+ memcpy(&oldact->sa_mask, &koact.sa_mask,
+ sizeof(oldact->sa_mask));
+ oldact->sa_flags = koact.sa_flags;
+ oldact->sa_restorer = koact.sa_restorer;
+ }
+
+ return result;
}
#ifndef LIBC_SIGACTION