aboutsummaryrefslogtreecommitdiffstats
path: root/plpnfsd
diff options
context:
space:
mode:
authorFritz Elfert <felfert@to.com>2000-08-27 23:34:38 +0000
committerFritz Elfert <felfert@to.com>2000-08-27 23:34:38 +0000
commit088423c49e616c16f55bae5453b46cf810648afc (patch)
tree9e15584fff46e49369e46cb1f1793c27af8f9300 /plpnfsd
parent7d73847be2bb1ade9f08292d71e0a7ec0ee12876 (diff)
downloadplptools-088423c49e616c16f55bae5453b46cf810648afc.tar.gz
plptools-088423c49e616c16f55bae5453b46cf810648afc.tar.bz2
plptools-088423c49e616c16f55bae5453b46cf810648afc.zip
Shutdown gracefully if killed with SIGTERM.
Diffstat (limited to 'plpnfsd')
-rw-r--r--plpnfsd/mp_mount.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/plpnfsd/mp_mount.c b/plpnfsd/mp_mount.c
index b2fd3c8..a655fe8 100644
--- a/plpnfsd/mp_mount.c
+++ b/plpnfsd/mp_mount.c
@@ -139,6 +139,14 @@ hup_handler SIGARG
exiting = 5;
};
+static void
+term_handler SIGARG
+{
+ if (debug > 1)
+ debuglog("Got TERM signal\n");
+ exiting = 5;
+};
+
static void doexit() {
#ifndef DONT_UPDATE_MTAB
FILE *fpin, *fpout;
@@ -567,6 +575,7 @@ mount_and_run(char *dir, void (*proc)(), nfs_fh *root_fh)
*/
signal(SIGUSR1, usr1_handler);
signal(SIGHUP, hup_handler);
+ signal(SIGTERM, term_handler);
signal(SIGPIPE, SIG_IGN);
for (;;) {