#include "db_config.h"
#ifndef lint
static const char revid[] = "$Id: util_sig.c,v 1.2 2004/03/30 01:21:22 jtownsen Exp $";
#endif
#ifndef NO_SYSTEM_INCLUDES
#include <sys/types.h>
#include <signal.h>
#endif
#include "db_int.h"
static int interrupt;
static void onint __P((int));
static void
onint(signo)
int signo;
{
if ((interrupt = signo) == 0)
interrupt = SIGINT;
}
void
__db_util_siginit()
{
#ifdef SIGHUP
(void)signal(SIGHUP, onint);
#endif
(void)signal(SIGINT, onint);
#ifdef SIGPIPE
(void)signal(SIGPIPE, onint);
#endif
(void)signal(SIGTERM, onint);
}
int
__db_util_interrupted()
{
return (interrupt != 0);
}
void
__db_util_sigresend()
{
if (interrupt != 0) {
(void)signal(interrupt, SIG_DFL);
(void)raise(interrupt);
}
}