summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlaf Faaland <[email protected]>2017-03-07 15:33:50 -0800
committerBrian Behlendorf <[email protected]>2017-03-20 17:43:43 -0700
commit9a054d54fb6772305fdbe0bb5b312cf051331726 (patch)
tree91615d10ffa19e86731f5f433a7efd6a0d2dad14
parent94b1ab2ae01e9ee642aee87dd1a73e8d63629372 (diff)
Linux 4.11 compat: add linux/sched/signal.h
In Linux 4.11, torvalds/linux@2a1f062, signal handling related functions were moved from sched.h into sched/signal.h. Add configure checks to detect this and include the new file where needed. Reviewed-by: Chunwei Chen <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Olaf Faaland <[email protected]> Closes #608
-rw-r--r--config/spl-build.m419
-rw-r--r--include/sys/signal.h4
2 files changed, 23 insertions, 0 deletions
diff --git a/config/spl-build.m4 b/config/spl-build.m4
index fc0efcf39..1dbc87e61 100644
--- a/config/spl-build.m4
+++ b/config/spl-build.m4
@@ -43,6 +43,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
SPL_AC_RWSEM_ACTIVITY
SPL_AC_RWSEM_ATOMIC_LONG_COUNT
SPL_AC_SCHED_RT_HEADER
+ SPL_AC_SCHED_SIGNAL_HEADER
SPL_AC_4ARGS_VFS_GETATTR
SPL_AC_3ARGS_VFS_GETATTR
SPL_AC_2ARGS_VFS_GETATTR
@@ -1411,6 +1412,24 @@ AC_DEFUN([SPL_AC_SCHED_RT_HEADER],
])
])
+dnl #
+dnl # 4.11 API change,
+dnl # Moved things from linux/sched.h to linux/sched/signal.h
+dnl #
+AC_DEFUN([SPL_AC_SCHED_SIGNAL_HEADER],
+ [AC_MSG_CHECKING([whether header linux/sched/signal.h exists])
+ SPL_LINUX_TRY_COMPILE([
+ #include <linux/sched.h>
+ #include <linux/sched/signal.h>
+ ],[
+ return 0;
+ ],[
+ AC_DEFINE(HAVE_SCHED_SIGNAL_HEADER, 1, [linux/sched/signal.h exists])
+ AC_MSG_RESULT(yes)
+ ],[
+ AC_MSG_RESULT(no)
+ ])
+])
dnl #
dnl # 4.11 API, a528d35e@torvalds/linux
diff --git a/include/sys/signal.h b/include/sys/signal.h
index 823fea329..77cc2d3c2 100644
--- a/include/sys/signal.h
+++ b/include/sys/signal.h
@@ -27,6 +27,10 @@
#include <linux/sched.h>
+#ifdef HAVE_SCHED_SIGNAL_HEADER
+#include <linux/sched/signal.h>
+#endif
+
#define FORREAL 0 /* Usual side-effects */
#define JUSTLOOKING 1 /* Don't stop the process */