From: Rainer Toebbicke Date: Wed, 19 Sep 2012 16:13:15 +0000 (-0400) Subject: butc: clean xbsa shutdown on control C X-Git-Tag: openafs-stable-1_8_0pre1~1982 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=aea3c71e59ec30e84ca4e7383fd3b566ce94bbb6 butc: clean xbsa shutdown on control C when we catch a control-c, do a clean shutdown Change-Id: I8da28c28d0a238d3642f65c381c399a883d6d4b1 Reviewed-on: http://gerrit.openafs.org/8141 Reviewed-by: Chas Williams - CONTRACTOR Tested-by: BuildBot Reviewed-by: Derrick Brashear --- diff --git a/src/butc/tcmain.c b/src/butc/tcmain.c index 98e6f71..3bf6f2d 100644 --- a/src/butc/tcmain.c +++ b/src/butc/tcmain.c @@ -822,6 +822,15 @@ GetConfigParams(char *filename, afs_int32 port) return (code); } +#ifdef xbsa +static void +xbsa_shutdown(int x) +{ + xbsa_Finalize(&butxInfo); + exit(0); +} +#endif + static int WorkerBee(struct cmd_syndesc *as, void *arock) { @@ -1008,6 +1017,8 @@ WorkerBee(struct cmd_syndesc *as, void *arock) rc = InitToServer(0 /*taskid */ , &butxInfo, adsmServerName); if (rc != XBSA_SUCCESS) return (1); + (void)signal(SIGINT, xbsa_shutdown); + (void)signal(SIGHUP, xbsa_shutdown); } #endif /*xbsa */