+2008-06-22 Bruno Haible <bruno@clisp.org>
+
+ * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
+
+ * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
+ (gl_PREREQ_SIGPROCMASK): Invoke it.
+ * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
+
+ * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
+
+ * lib/sigprocmask.c: Update a comment.
+
+2008-06-21 Eric Blake <ebb9@byu.net>
+
+ Use sigaction module rather than signal().
+ * modules/c-stack (Depends-on): Add sigaction.
+ * modules/fatal-signal (Depends-on): Likewise.
+ * modules/nanosleep (Depends-on): Likewise.
+ * modules/sigprocmask (Files): Add sig-handler.h.
+ * modules/sigaction (Files): Likewise.
+ * lib/sig-handler.h (get_handler): New file, suggested by Paul
+ Eggert.
+ * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
+ (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
+ * lib/fatal-signal.c (uninstall_handlers, install_handlers)
+ (init_fatal_signals): Likewise.
+ * lib/nanosleep.c (rpl_nanosleep): Likewise.
+ (siginterrupt): Delete fallback.
+ * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
+ instead.
+ * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
+ siginterrupt.
+
+ New module sigaction, for mingw.
+ * modules/sigaction: New module...
+ * modules/sigaction-tests: ...and its test.
+ * m4/sigaction.m4: New file.
+ * lib/sigaction.c: Likewise.
+ * tests/test-sigaction.c: Likewise.
+ * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
+ * modules/signal (Makefile.am): Likewise.
+ * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
+ needed.
+ * doc/posix-headers/signal.texi (signal.h): Mention provided
+ types.
+ * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
+ that sigaction is preferable.
+ * doc/posix-functions/sigaction.texi (sigaction): Mention new
+ module.
+ * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
+ sigaction.
+
+ Improve robustness of sigprocmask by overriding signal.
+ * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
+ is in use.
+ * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
+ (SIGKILL, SIGSTOP): Provide fallbacks.
+ (rpl_signal): Implement.
+ (old_handlers, blocked_set): Mark volatile, since sigprocmask and
+ signal can be called inside handlers.
+
+ Fix nanosleep module on mingw.
+ * modules/nanosleep (Depends-on): Add sys_select.
+ * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
+
+ Fix licensing of sigprocmask.
+ * modules/raise (License): Relicense as LGPL.
+
2008-06-21 Bruno Haible <bruno@clisp.org>
* lib/propername.c (proper_name_utf8): Don't use the transliterated