From: Guus Sliepen Date: Wed, 1 Aug 2012 13:14:48 +0000 (+0200) Subject: Try sending SIGTERM if we cannot connect to a tincd but we know its PID. X-Git-Tag: release-1.1pre3~72 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=07980b056c5371f8b6fdd50172f501be07155bdf;p=oweals%2Ftinc.git Try sending SIGTERM if we cannot connect to a tincd but we know its PID. --- diff --git a/src/tincctl.c b/src/tincctl.c index 619b90e..1cdcf58 100644 --- a/src/tincctl.c +++ b/src/tincctl.c @@ -714,8 +714,16 @@ static int cmd_start(int argc, char *argv[]) { static int cmd_stop(int argc, char *argv[]) { #ifndef HAVE_MINGW - if(!connect_tincd()) + if(!connect_tincd()) { + if(pid) { + if(kill(pid, SIGTERM)) + return 1; + fprintf(stderr, "Sent TERM signal to process with PID %u.\n", pid); + return 0; + } + return 1; + } sendline(fd, "%d %d", CONTROL, REQ_STOP); if(!recvline(fd, line, sizeof line) || sscanf(line, "%d %d %d", &code, &req, &result) != 3 || code != CONTROL || req != REQ_STOP || result) {