aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-11-25 22:24:19 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2013-02-03 15:09:22 -0500
commit574c4866e33d648520a8bd5bf6f573ea6e554e88 (patch)
tree354c1c42819cba60481a854281f1e130c7cec260 /include
parent92a3ce4a1e0047215aa0a0b30cc333bd32b866a8 (diff)
consolidate kernel-side struct sigaction declarations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include')
-rw-r--r--include/linux/signal.h14
-rw-r--r--include/linux/syscalls.h2
-rw-r--r--include/uapi/asm-generic/signal.h6
3 files changed, 21 insertions, 1 deletions
diff --git a/include/linux/signal.h b/include/linux/signal.h
index 01451a156ff7..0b6878e882da 100644
--- a/include/linux/signal.h
+++ b/include/linux/signal.h
@@ -249,6 +249,20 @@ extern void __set_current_blocked(const sigset_t *);
249extern int show_unhandled_signals; 249extern int show_unhandled_signals;
250extern int sigsuspend(sigset_t *); 250extern int sigsuspend(sigset_t *);
251 251
252struct sigaction {
253#ifndef __ARCH_HAS_ODD_SIGACTION
254 __sighandler_t sa_handler;
255 unsigned long sa_flags;
256#else
257 unsigned long sa_flags;
258 __sighandler_t sa_handler;
259#endif
260#ifdef __ARCH_HAS_SA_RESTORER
261 __sigrestore_t sa_restorer;
262#endif
263 sigset_t sa_mask; /* mask last for extensibility */
264};
265
252struct k_sigaction { 266struct k_sigaction {
253 struct sigaction sa; 267 struct sigaction sa;
254#ifdef __ARCH_HAS_KA_RESTORER 268#ifdef __ARCH_HAS_KA_RESTORER
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index d2dd2f63d220..1c4938bf901e 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -68,11 +68,11 @@ struct sigaltstack;
68#include <linux/types.h> 68#include <linux/types.h>
69#include <linux/aio_abi.h> 69#include <linux/aio_abi.h>
70#include <linux/capability.h> 70#include <linux/capability.h>
71#include <linux/signal.h>
71#include <linux/list.h> 72#include <linux/list.h>
72#include <linux/bug.h> 73#include <linux/bug.h>
73#include <linux/sem.h> 74#include <linux/sem.h>
74#include <asm/siginfo.h> 75#include <asm/siginfo.h>
75#include <asm/signal.h>
76#include <linux/unistd.h> 76#include <linux/unistd.h>
77#include <linux/quota.h> 77#include <linux/quota.h>
78#include <linux/key.h> 78#include <linux/key.h>
diff --git a/include/uapi/asm-generic/signal.h b/include/uapi/asm-generic/signal.h
index 21e59f36c61b..9df61f1edb0f 100644
--- a/include/uapi/asm-generic/signal.h
+++ b/include/uapi/asm-generic/signal.h
@@ -93,6 +93,11 @@ typedef unsigned long old_sigset_t;
93 93
94#include <asm-generic/signal-defs.h> 94#include <asm-generic/signal-defs.h>
95 95
96#ifdef SA_RESTORER
97#define __ARCH_HAS_SA_RESTORER
98#endif
99
100#ifndef __KERNEL__
96struct sigaction { 101struct sigaction {
97 __sighandler_t sa_handler; 102 __sighandler_t sa_handler;
98 unsigned long sa_flags; 103 unsigned long sa_flags;
@@ -101,6 +106,7 @@ struct sigaction {
101#endif 106#endif
102 sigset_t sa_mask; /* mask last for extensibility */ 107 sigset_t sa_mask; /* mask last for extensibility */
103}; 108};
109#endif
104 110
105typedef struct sigaltstack { 111typedef struct sigaltstack {
106 void __user *ss_sp; 112 void __user *ss_sp;