Mercurial > hg > octave-nkf > gnulib-hg
changeset 10239:e7f22aa7841e
Revert use of sig-handler.h in sigprocmask.c.
* modules/sigprocmask (Files): Don't rely on sig-handler.h, since
it requires the existence of struct sigaction.
* lib/sigprocmask.c (handler_t): Restore typedef.
(rpl_signal, old_handlers): Use local type.
Signed-off-by: Eric Blake <ebb9@byu.net>
author | Eric Blake <ebb9@byu.net> |
---|---|
date | Mon, 23 Jun 2008 06:02:40 -0600 |
parents | 22aa2c7c5a43 |
children | d8fe05396cf4 |
files | ChangeLog lib/sigprocmask.c modules/sigprocmask |
diffstat | 3 files changed, 14 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-06-23 Eric Blake <ebb9@byu.net> + + Revert use of sig-handler.h in sigprocmask.c. + * modules/sigprocmask (Files): Don't rely on sig-handler.h, since + it requires the existence of struct sigaction. + * lib/sigprocmask.c (handler_t): Restore typedef. + (rpl_signal, old_handlers): Use local type. + 2008-06-22 Bruno Haible <bruno@clisp.org> * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
--- a/lib/sigprocmask.c +++ b/lib/sigprocmask.c @@ -24,8 +24,6 @@ #include <stdint.h> #include <stdlib.h> -#include "sig-handler.h" - /* We assume that a platform without POSIX signal blocking functions also does not have the POSIX sigaction() function, only the signal() function. We also assume signal() has SysV semantics, @@ -45,6 +43,8 @@ # define SIGSTOP (-1) #endif +typedef void (*handler_t) (int); + int sigismember (const sigset_t *set, int sig) { @@ -133,7 +133,7 @@ /* The previous signal handlers. Only the array elements corresponding to blocked signals are relevant. */ -static volatile sa_handler_t old_handlers[NSIG]; +static volatile handler_t old_handlers[NSIG]; int sigprocmask (int operation, const sigset_t *set, sigset_t *old_set) @@ -208,8 +208,8 @@ /* Install the handler FUNC for signal SIG, and return the previous handler. */ -sa_handler_t -rpl_signal (int sig, sa_handler_t handler) +handler_t +rpl_signal (int sig, handler_t handler) { /* We must provide a wrapper, so that a user can query what handler they installed even if that signal is currently blocked. */ @@ -227,7 +227,7 @@ stale information if it calls signal(B). Oh well - signal handlers really shouldn't try to manipulate the installed handlers of unrelated signals. */ - sa_handler_t result = old_handlers[sig]; + handler_t result = old_handlers[sig]; old_handlers[sig] = handler; return result; }