aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/sys/signal.h24
-rw-r--r--include/sys/sysmacros.h1
2 files changed, 25 insertions, 0 deletions
diff --git a/include/sys/signal.h b/include/sys/signal.h
new file mode 100644
index 000000000..120329686
--- /dev/null
+++ b/include/sys/signal.h
@@ -0,0 +1,24 @@
+#ifndef _SPL_SIGNAL_H
+#define _SPL_SIGNAL_H
+
+#define FORREAL 0 /* Usual side-effects */
+#define JUSTLOOKING 1 /* Don't stop the process */
+
+/* The "why" argument indicates the allowable side-effects of the call:
+ *
+ * FORREAL: Extract the next pending signal from p_sig into p_cursig;
+ * stop the process if a stop has been requested or if a traced signal
+ * is pending.
+ *
+ * JUSTLOOKING: Don't stop the process, just indicate whether or not
+ * a signal might be pending (FORREAL is needed to tell for sure).
+ */
+static __inline__ int
+issig(int why)
+{
+ BUG_ON(!(why == FORREAL || why == JUSTLOOKING));
+
+ return signal_pending(current);
+}
+
+#endif /* SPL_SIGNAL_H */
diff --git a/include/sys/sysmacros.h b/include/sys/sysmacros.h
index eeaedf9cb..83e421b6a 100644
--- a/include/sys/sysmacros.h
+++ b/include/sys/sysmacros.h
@@ -8,6 +8,7 @@ extern "C" {
#include <linux/module.h>
#include <sys/varargs.h>
#include <sys/zone.h>
+#include <sys/signal.h>
#ifndef _KERNEL
#define _KERNEL __KERNEL__