diff options
author | Eric Blake <ebb9@byu.net> | 2008-06-09 16:21:34 -0600 |
---|---|---|
committer | Eric Blake <ebb9@byu.net> | 2008-06-09 16:21:34 -0600 |
commit | 5c89085f979329a97768dc096b1303942b062958 (patch) | |
tree | cf4d066bbde44976e138eb0c3ea513f0dda8c152 | |
parent | bede52934556196b082508b76eb295ab3f857fae (diff) | |
download | gnulib-5c89085f979329a97768dc096b1303942b062958.tar.gz |
Work around environments that (stupidly) ignore SIGALRM.
* m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
before using alarm().
* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
* m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
Reported by Ian Beckwith <ianb@erislabs.net>.
Signed-off-by: Eric Blake <ebb9@byu.net>
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | m4/memmem.m4 | 4 | ||||
-rw-r--r-- | m4/strcasestr.m4 | 4 | ||||
-rw-r--r-- | m4/strstr.m4 | 4 |
4 files changed, 16 insertions, 3 deletions
@@ -1,5 +1,12 @@ 2008-06-09 Eric Blake <ebb9@byu.net> + Work around environments that (stupidly) ignore SIGALRM. + * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling + before using alarm(). + * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise. + * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise. + Reported by Ian Beckwith <ianb@erislabs.net>. + Produce autobuild blurb earlier in log. * modules/autobuild (configure.ac-early): Move AB_INIT here. diff --git a/m4/memmem.m4 b/m4/memmem.m4 index d8c1230970..87ab66319f 100644 --- a/m4/memmem.m4 +++ b/m4/memmem.m4 @@ -1,4 +1,4 @@ -# memmem.m4 serial 12 +# memmem.m4 serial 13 dnl Copyright (C) 2002, 2003, 2004, 2007, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -27,6 +27,7 @@ AC_DEFUN([gl_FUNC_MEMMEM], AC_CACHE_CHECK([whether memmem works in linear time], [gl_cv_func_memmem_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +#include <signal.h> /* for signal */ #include <string.h> /* for memmem */ #include <stdlib.h> /* for malloc */ #include <unistd.h> /* for alarm */ @@ -36,6 +37,7 @@ AC_DEFUN([gl_FUNC_MEMMEM], void *result = 0; /* Failure to compile this test due to missing alarm is okay, since all such platforms (mingw) also lack memmem. */ + signal (SIGALRM, SIG_DFL); alarm (5); /* Check for quadratic performance. */ if (haystack && needle) diff --git a/m4/strcasestr.m4 b/m4/strcasestr.m4 index 0ad895acfd..e1e5390542 100644 --- a/m4/strcasestr.m4 +++ b/m4/strcasestr.m4 @@ -1,4 +1,4 @@ -# strcasestr.m4 serial 11 +# strcasestr.m4 serial 12 dnl Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -26,6 +26,7 @@ AC_DEFUN([gl_FUNC_STRCASESTR], AC_CACHE_CHECK([whether strcasestr works in linear time], [gl_cv_func_strcasestr_linear], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +#include <signal.h> /* for signal */ #include <string.h> /* for memmem */ #include <stdlib.h> /* for malloc */ #include <unistd.h> /* for alarm */ @@ -35,6 +36,7 @@ AC_DEFUN([gl_FUNC_STRCASESTR], void *result = 0; /* Failure to compile this test due to missing alarm is okay, since all such platforms (mingw) also lack strcasestr. */ + signal (SIGALRM, SIG_DFL); alarm (5); /* Check for quadratic performance. */ if (haystack && needle) diff --git a/m4/strstr.m4 b/m4/strstr.m4 index 67b93c9f76..f48bebb6dd 100644 --- a/m4/strstr.m4 +++ b/m4/strstr.m4 @@ -1,4 +1,4 @@ -# strstr.m4 serial 4 +# strstr.m4 serial 5 dnl Copyright (C) 2008 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -11,6 +11,7 @@ AC_DEFUN([gl_FUNC_STRSTR], AC_CACHE_CHECK([whether strstr works in linear time], [gl_cv_func_strstr_linear], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +#include <signal.h> /* for signal */ #include <string.h> /* for memmem */ #include <stdlib.h> /* for malloc */ #include <unistd.h> /* for alarm */ @@ -20,6 +21,7 @@ AC_DEFUN([gl_FUNC_STRSTR], void *result = 0; /* Failure to compile this test due to missing alarm is okay, since all such platforms (mingw) also have quadratic strstr. */ + signal (SIGALRM, SIG_DFL); alarm (5); /* Check for quadratic performance. */ if (haystack && needle) |