[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: sigpending fix
From: |
Eric Blake |
Subject: |
Re: sigpending fix |
Date: |
Mon, 16 Jun 2008 22:46:55 +0000 (UTC) |
User-agent: |
Loom/3.14 (http://gmane.org/) |
Bruno Haible <bruno <at> clisp.org> writes:
> Yes you can change sigprocmask.c and fatal-signal.c to assume raise()
nowadays.
> But it does not hurt to keep the module 'raise' in gnulib for some more time,
OK, then I'm committing this:
>From 5465a1c56211b1c9d1b60c856d27293de201232d Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Mon, 16 Jun 2008 16:45:09 -0600
Subject: [PATCH] Use raise module consistently.
* modules/fatal-signal (Depends-on): Add raise.
* modules/sigprocmask (Depends-on): Likewise.
* lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
* lib/sigprocmask.c (sigprocmask): Likewise.
* m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
* m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
Signed-off-by: Eric Blake <address@hidden>
---
ChangeLog | 8 ++++++++
lib/fatal-signal.c | 6 +-----
lib/sigprocmask.c | 8 +-------
m4/fatal-signal.m4 | 5 ++---
m4/signalblocking.m4 | 5 ++---
modules/fatal-signal | 1 +
modules/sigprocmask | 1 +
7 files changed, 16 insertions(+), 18 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 054cec0..0976ec3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2008-06-16 Eric Blake <address@hidden>
+ Use raise module consistently.
+ * modules/fatal-signal (Depends-on): Add raise.
+ * modules/sigprocmask (Depends-on): Likewise.
+ * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
+ * lib/sigprocmask.c (sigprocmask): Likewise.
+ * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
+ * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
+
Fix compliance bug in sigpending.
* lib/sigprocmask.c (sigpending): Return pending array via
parameter, not return value.
diff --git a/lib/fatal-signal.c b/lib/fatal-signal.c
index 5157d7c..a599f3a 100644
--- a/lib/fatal-signal.c
+++ b/lib/fatal-signal.c
@@ -1,5 +1,5 @@
/* Emergency actions in case of a fatal signal.
- Copyright (C) 2003-2004, 2006-2007 Free Software Foundation, Inc.
+ Copyright (C) 2003-2004, 2006-2008 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2003.
This program is free software: you can redistribute it and/or modify
@@ -162,11 +162,7 @@ fatal_signal_handler (int sig)
signal handler's execution, the re-raised signal is delivered when this
handler returns; otherwise it is delivered already during raise(). */
uninstall_handlers ();
-#if HAVE_RAISE
raise (sig);
-#else
- kill (getpid (), sig);
-#endif
}
diff --git a/lib/sigprocmask.c b/lib/sigprocmask.c
index e2f6d8b..bc9eae7 100644
--- a/lib/sigprocmask.c
+++ b/lib/sigprocmask.c
@@ -179,13 +179,7 @@ sigprocmask (int operation, const sigset_t *set, sigset_t
*old_set)
for (sig = 0; sig < NSIG; sig++)
if (received[sig])
- {
- #if HAVE_RAISE
- raise (sig);
- #else
- kill (getpid (), sig);
- #endif
- }
+ raise (sig);
}
}
return 0;
diff --git a/m4/fatal-signal.m4 b/m4/fatal-signal.m4
index c188b14..1930e0a 100644
--- a/m4/fatal-signal.m4
+++ b/m4/fatal-signal.m4
@@ -1,5 +1,5 @@
-# fatal-signal.m4 serial 4
-dnl Copyright (C) 2003-2004, 2006 Free Software Foundation, Inc.
+# fatal-signal.m4 serial 5
+dnl Copyright (C) 2003-2004, 2006, 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,
dnl with or without modifications, as long as this notice is preserved.
@@ -8,6 +8,5 @@ AC_DEFUN([gl_FATAL_SIGNAL],
[
AC_REQUIRE([gt_TYPE_SIG_ATOMIC_T])
AC_CHECK_HEADERS_ONCE(unistd.h)
- AC_CHECK_FUNCS_ONCE(raise)
AC_CHECK_FUNCS(sigaction)
])
diff --git a/m4/signalblocking.m4 b/m4/signalblocking.m4
index 199f29b..38f066d 100644
--- a/m4/signalblocking.m4
+++ b/m4/signalblocking.m4
@@ -1,5 +1,5 @@
-# signalblocking.m4 serial 6
-dnl Copyright (C) 2001-2002, 2006-2007 Free Software Foundation, Inc.
+# signalblocking.m4 serial 7
+dnl Copyright (C) 2001-2002, 2006-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,
dnl with or without modifications, as long as this notice is preserved.
@@ -39,5 +39,4 @@ AC_DEFUN([gl_PREREQ_SIGPROCMASK],
dnl HAVE_SIGSET_T is 1 if the system lacks the sigprocmask function but has
dnl the sigset_t type.
AC_SUBST([HAVE_SIGSET_T])
- AC_CHECK_FUNCS_ONCE(raise)
])
diff --git a/modules/fatal-signal b/modules/fatal-signal
index 4365b3a..8e8eb8a 100644
--- a/modules/fatal-signal
+++ b/modules/fatal-signal
@@ -12,6 +12,7 @@ xalloc
stdbool
unistd
sigprocmask
+raise
configure.ac:
gl_FATAL_SIGNAL
diff --git a/modules/sigprocmask b/modules/sigprocmask
index 49e4fbb..e093112 100644
--- a/modules/sigprocmask
+++ b/modules/sigprocmask
@@ -8,6 +8,7 @@ m4/signalblocking.m4
Depends-on:
signal
stdint
+raise
configure.ac:
gl_SIGNALBLOCKING
--
1.5.5.1