]> granicus.if.org Git - zfs/commitdiff
Minimal signal handling interface.
authorbehlendo <behlendo@7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c>
Mon, 17 Mar 2008 18:29:57 +0000 (18:29 +0000)
committerbehlendo <behlendo@7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c>
Mon, 17 Mar 2008 18:29:57 +0000 (18:29 +0000)
git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@49 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c

include/sys/signal.h [new file with mode: 0644]
include/sys/sysmacros.h

diff --git a/include/sys/signal.h b/include/sys/signal.h
new file mode 100644 (file)
index 0000000..1203296
--- /dev/null
@@ -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 */
index eeaedf9cbc84fce534146381945bb83322cdf67f..83e421b6a33ad3dbf26e9f36d6cc95a31823be58 100644 (file)
@@ -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__