+2020-09-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ signalblocking: simplify and remove gl_SILENT
+ gl_SILENT was problematic because if a trap was sprung, stderr
+ generated during the trap was lost. Avoid the problem by
+ removing the need for gl_SILENT.
+ * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): Remove.
+ * m4/signalblocking.m4 (gl_SIGNALBLOCKING):
+ Simplify, avoiding the need for gl_SILENT while preserving the
+ ability of the user to override the value of the cache variable,
+ now ac_cv_func_sigprocmask.
+
2020-09-17 Bruno Haible <bruno@clisp.org>
sigprocmask: Fix configuration failure on Solaris 10 (regr. 2020-07-25).
-# gnulib-common.m4 serial 58
+# gnulib-common.m4 serial 59
dnl Copyright (C) 2007-2020 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
AC_C_BIGENDIAN
])
-# A temporary file descriptor.
-# Must be less than 10, because dash 0.5.8 does not support redirections
-# with multi-digit file descriptors.
-m4_define([GL_TMP_FD], 9)
-
-# gl_SILENT(command)
-# executes command, but without the normal configure output.
-AC_DEFUN([gl_SILENT],
-[
- exec GL_TMP_FD>&AS_MESSAGE_FD AS_MESSAGE_FD>/dev/null
- $1
- exec AS_MESSAGE_FD>&GL_TMP_FD GL_TMP_FD>&-
-])
-
# gl_CACHE_VAL_SILENT(cache-id, command-to-set-it)
# is like AC_CACHE_VAL(cache-id, command-to-set-it), except that it does not
# output a spurious "(cached)" mark in the midst of other configure output.
-# signalblocking.m4 serial 16
+# signalblocking.m4 serial 17
dnl Copyright (C) 2001-2002, 2006-2020 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
[
AC_REQUIRE([gl_SIGNAL_H_DEFAULTS])
AC_REQUIRE([gl_CHECK_TYPE_SIGSET_T])
- AC_CACHE_CHECK([for sigprocmask],
- [gl_cv_func_sigprocmask_v16],
- [if test $gl_cv_type_sigset_t = yes; then
- gl_SILENT([
- AC_CHECK_FUNC([sigprocmask],
- [gl_cv_func_sigprocmask_v16=yes],
- [gl_cv_func_sigprocmask_v16=no])
- ])
- else
- gl_cv_func_sigprocmask_v16=no
- fi
- ])
- if test $gl_cv_func_sigprocmask_v16 != yes; then
- HAVE_POSIX_SIGNALBLOCKING=0
+ HAVE_POSIX_SIGNALBLOCKING=0
+ if test "$gl_cv_type_sigset_t" = yes; then
+ AC_CHECK_FUNC([sigprocmask], [HAVE_POSIX_SIGNALBLOCKING=1])
fi
])