view modules/c-stack @ 10230:54813304edd2

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): Delete. (old_handlers): Use sa_handler_t instead. * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for siginterrupt. Signed-off-by: Eric Blake <ebb9@byu.net>
author Eric Blake <ebb9@byu.net>
date Sat, 21 Jun 2008 07:08:49 -0600
parents 655ec8b9fbde
children adfc5a204195
line wrap: on
line source

Description:
Stack overflow handling, causing program exit.

Files:
lib/c-stack.h
lib/c-stack.c
m4/c-stack.m4

Depends-on:
gettext-h
exitfail
unistd
raise
sigaction

configure.ac:
gl_C_STACK

Makefile.am:
lib_SOURCES += c-stack.h c-stack.c

Include:
"c-stack.h"

License:
GPL

Maintainer:
Paul Eggert