From 5c89085f979329a97768dc096b1303942b062958 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Mon, 9 Jun 2008 16:21:34 -0600 Subject: [PATCH] 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 . Signed-off-by: Eric Blake --- ChangeLog | 7 +++++++ m4/memmem.m4 | 4 +++- m4/strcasestr.m4 | 4 +++- m4/strstr.m4 | 4 +++- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 736b1f28c..02950481c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2008-06-09 Eric Blake + 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 . + 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 d8c123097..87ab66319 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 /* for signal */ #include /* for memmem */ #include /* for malloc */ #include /* 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 0ad895acf..e1e539054 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 /* for signal */ #include /* for memmem */ #include /* for malloc */ #include /* 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 67b93c9f7..f48bebb6d 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 /* for signal */ #include /* for memmem */ #include /* for malloc */ #include /* 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) -- 2.11.0