strstr, memmem, strcasestr: avoid leaked shell message
authorEric Blake <eblake@redhat.com>
Mon, 30 Aug 2010 23:13:53 +0000 (17:13 -0600)
committerEric Blake <eblake@redhat.com>
Mon, 30 Aug 2010 23:32:18 +0000 (17:32 -0600)
* m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
FreeBSD.
* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
* m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
ChangeLog
m4/memmem.m4
m4/strcasestr.m4
m4/strstr.m4

index 45bd20f..a7b5e68 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2010-08-30  Eric Blake  <eblake@redhat.com>
 
+       strstr, memmem, strcasestr: avoid leaked shell message
+       * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
+       FreeBSD.
+       * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
+       * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
+
        tests: silence clang warning
        * tests/test-malloca.c (do_allocation): Avoid dead store.
 
index c6506ee..d02b993 100644 (file)
@@ -1,4 +1,4 @@
-# memmem.m4 serial 14
+# memmem.m4 serial 15
 dnl Copyright (C) 2002, 2003, 2004, 2007, 2008, 2009, 2010 Free Software
 dnl Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
@@ -32,13 +32,14 @@ AC_DEFUN([gl_FUNC_MEMMEM],
 #include <string.h> /* for memmem */
 #include <stdlib.h> /* for malloc */
 #include <unistd.h> /* for alarm */
+static void quit (int sig) { exit (sig + 128); }
 ]], [[size_t m = 1000000;
     char *haystack = (char *) malloc (2 * m + 1);
     char *needle = (char *) malloc (m + 1);
     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);
+    signal (SIGALRM, quit);
     alarm (5);
     /* Check for quadratic performance.  */
     if (haystack && needle)
index 6e940bc..50ac0a7 100644 (file)
@@ -1,4 +1,4 @@
-# strcasestr.m4 serial 13
+# strcasestr.m4 serial 14
 dnl Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -39,13 +39,14 @@ AC_DEFUN([gl_FUNC_STRCASESTR],
 #include <string.h> /* for memmem */
 #include <stdlib.h> /* for malloc */
 #include <unistd.h> /* for alarm */
+static void quit (int sig) { exit (sig + 128); }
 ]], [[size_t m = 1000000;
     char *haystack = (char *) malloc (2 * m + 2);
     char *needle = (char *) malloc (m + 2);
     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);
+    signal (SIGALRM, quit);
     alarm (5);
     /* Check for quadratic performance.  */
     if (haystack && needle)
index 779957a..3e45a7a 100644 (file)
@@ -1,4 +1,4 @@
-# strstr.m4 serial 7
+# strstr.m4 serial 8
 dnl Copyright (C) 2008, 2009, 2010 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,13 +27,14 @@ AC_DEFUN([gl_FUNC_STRSTR],
 #include <string.h> /* for memmem */
 #include <stdlib.h> /* for malloc */
 #include <unistd.h> /* for alarm */
+static void quit (int sig) { exit (sig + 128); }
 ]], [[size_t m = 1000000;
     char *haystack = (char *) malloc (2 * m + 2);
     char *needle = (char *) malloc (m + 2);
     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);
+    signal (SIGALRM, quit);
     alarm (5);
     /* Check for quadratic performance.  */
     if (haystack && needle)