diff options
Diffstat (limited to 'imap/mysignal.c')
| -rw-r--r-- | imap/mysignal.c | 37 | 
1 files changed, 37 insertions, 0 deletions
| diff --git a/imap/mysignal.c b/imap/mysignal.c new file mode 100644 index 0000000..3dca78d --- /dev/null +++ b/imap/mysignal.c @@ -0,0 +1,37 @@ +/* +** Copyright 1998 - 1999 Double Precision, Inc. +** See COPYING for distribution information. +*/ + +#if	HAVE_CONFIG_H +#include	"config.h" +#endif + +#include	<signal.h> + + +static int n; + +static RETSIGTYPE trap(int signum) +{ +	n=signum; +#if	RETSIGTYPE != void +	return (0); +#endif +} + +void trap_signals() +{ +	n=0; +	signal(SIGTERM, trap); +	signal(SIGINT, trap); +	signal(SIGHUP, trap); +} + +int release_signals() +{ +	signal(SIGTERM, SIG_DFL); +	signal(SIGINT, SIG_DFL); +	signal(SIGHUP, SIG_DFL); +	return (n); +} | 
