summaryrefslogtreecommitdiffstats
path: root/imap/mysignal.c
blob: 3dca78da3dd63eaa09375d563226c05bb23b744e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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);
}