signals: Move signal data types from <linux/signal.h> to <linux/signal_types.h>
authorIngo Molnar <mingo@kernel.org>
Fri, 3 Feb 2017 22:43:50 +0000 (23:43 +0100)
committerIngo Molnar <mingo@kernel.org>
Fri, 3 Mar 2017 00:43:48 +0000 (01:43 +0100)
Separate out just the pure data types - sched.h will be able to use
this reduced size header.

Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
include/linux/signal.h
include/linux/signal_types.h

index d1c2b05a7a556c69f1f1d564427054e7eadc7b29..94ad6eea9550352d8e717a90cf50b462b238bfa9 100644 (file)
@@ -8,24 +8,6 @@ struct task_struct;
 
 /* for sysctl */
 extern int print_fatal_signals;
-/*
- * Real Time signals may be queued.
- */
-
-struct sigqueue {
-       struct list_head list;
-       int flags;
-       siginfo_t info;
-       struct user_struct *user;
-};
-
-/* flags values. */
-#define SIGQUEUE_PREALLOC      1
-
-struct sigpending {
-       struct list_head list;
-       sigset_t signal;
-};
 
 #ifndef HAVE_ARCH_COPY_SIGINFO
 
@@ -271,42 +253,6 @@ extern void set_current_blocked(sigset_t *);
 extern void __set_current_blocked(const sigset_t *);
 extern int show_unhandled_signals;
 
-struct sigaction {
-#ifndef __ARCH_HAS_IRIX_SIGACTION
-       __sighandler_t  sa_handler;
-       unsigned long   sa_flags;
-#else
-       unsigned int    sa_flags;
-       __sighandler_t  sa_handler;
-#endif
-#ifdef __ARCH_HAS_SA_RESTORER
-       __sigrestore_t sa_restorer;
-#endif
-       sigset_t        sa_mask;        /* mask last for extensibility */
-};
-
-struct k_sigaction {
-       struct sigaction sa;
-#ifdef __ARCH_HAS_KA_RESTORER
-       __sigrestore_t ka_restorer;
-#endif
-};
-#ifdef CONFIG_OLD_SIGACTION
-struct old_sigaction {
-       __sighandler_t sa_handler;
-       old_sigset_t sa_mask;
-       unsigned long sa_flags;
-       __sigrestore_t sa_restorer;
-};
-#endif
-
-struct ksignal {
-       struct k_sigaction ka;
-       siginfo_t info;
-       int sig;
-};
-
 extern int get_signal(struct ksignal *ksig);
 extern void signal_setup_done(int failed, struct ksignal *ksig, int stepping);
 extern void exit_signals(struct task_struct *tsk);
index 28799c88f490fe0d4d0e2b01a4fec259b7d46c36..16d862a3d8f38daa8b08f471e5bd8a5b4f173266 100644 (file)
@@ -1,7 +1,66 @@
 #ifndef _LINUX_SIGNAL_TYPES_H
 #define _LINUX_SIGNAL_TYPES_H
 
+/*
+ * Basic signal handling related data type definitions:
+ */
+
 #include <linux/list.h>
 #include <uapi/linux/signal.h>
 
+/*
+ * Real Time signals may be queued.
+ */
+
+struct sigqueue {
+       struct list_head list;
+       int flags;
+       siginfo_t info;
+       struct user_struct *user;
+};
+
+/* flags values. */
+#define SIGQUEUE_PREALLOC      1
+
+struct sigpending {
+       struct list_head list;
+       sigset_t signal;
+};
+
+struct sigaction {
+#ifndef __ARCH_HAS_IRIX_SIGACTION
+       __sighandler_t  sa_handler;
+       unsigned long   sa_flags;
+#else
+       unsigned int    sa_flags;
+       __sighandler_t  sa_handler;
+#endif
+#ifdef __ARCH_HAS_SA_RESTORER
+       __sigrestore_t sa_restorer;
+#endif
+       sigset_t        sa_mask;        /* mask last for extensibility */
+};
+
+struct k_sigaction {
+       struct sigaction sa;
+#ifdef __ARCH_HAS_KA_RESTORER
+       __sigrestore_t ka_restorer;
+#endif
+};
+
+#ifdef CONFIG_OLD_SIGACTION
+struct old_sigaction {
+       __sighandler_t sa_handler;
+       old_sigset_t sa_mask;
+       unsigned long sa_flags;
+       __sigrestore_t sa_restorer;
+};
+#endif
+
+struct ksignal {
+       struct k_sigaction ka;
+       siginfo_t info;
+       int sig;
+};
+
 #endif /* _LINUX_SIGNAL_TYPES_H */