summaryrefslogtreecommitdiffstats
path: root/imap/mysignal.c
diff options
context:
space:
mode:
Diffstat (limited to 'imap/mysignal.c')
-rw-r--r--imap/mysignal.c37
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);
+}