summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2012-09-12 03:21:11 +0100
committerPádraig Brady <P@draigBrady.com>2012-09-24 15:46:51 +0100
commit64be8b40f457f6480f9e79777d98afce40469786 (patch)
tree8607a2920d228479d39f795405a3ddbbfddcefb3 /m4
parent7331ab55fc28ac03c18cd683b7748a07dbd63f0f (diff)
downloadcoreutils-64be8b40f457f6480f9e79777d98afce40469786.tar.xz
timeout: handle signals more transparently
This was originally attempted in commit v8.12-117-g5a647a0, but reverted before release because of the unreliability of disabling core dumps using setrlimit() on Linux kernels. This new version instead uses prctl() where available to more reliably disable core dumps for the timeout process. * m4/jm-macros.m4: Define HAVE_SETRLIMIT and HAVE_PRCTL. * src/timeout.c (disable_core_dumps): A new function that disables coredumps using prctl or setrlimit if available. (main): If the child exited with a signal and we can disable core dumps, then raise that signal to the timeout process itself, so that callers may also see the signal status. Also print a message indicating when the monitored command dumped core, as that information is lost in the signal propagation through timeout.
Diffstat (limited to 'm4')
-rw-r--r--m4/jm-macros.m42
1 files changed, 1 insertions, 1 deletions
diff --git a/m4/jm-macros.m4 b/m4/jm-macros.m4
index 016172f04..ff89aa31b 100644
--- a/m4/jm-macros.m4
+++ b/m4/jm-macros.m4
@@ -64,7 +64,7 @@ AC_DEFUN([coreutils_MACROS],
# Used by sort.c.
AC_CHECK_FUNCS_ONCE([nl_langinfo])
# Used by timeout.c
- AC_CHECK_FUNCS_ONCE([setrlimit])
+ AC_CHECK_FUNCS_ONCE([setrlimit prctl])
# Used by tail.c.
AC_CHECK_FUNCS([inotify_init],