From e05371346548dee977d4ee45e12e3058e749afb6 Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Sat, 6 Oct 2012 21:16:17 +0200 Subject: [PATCH] When terminating, keep control connections open until the end. This ensures all device files and listening sockets have been closed before tincctl gets notified of tincd's termination. --- src/net_setup.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/net_setup.c b/src/net_setup.c index 2a67d432..f07bdda4 100644 --- a/src/net_setup.c +++ b/src/net_setup.c @@ -963,6 +963,9 @@ void close_network_connections(void) { for(node = connection_tree->head; node; node = next) { next = node->next; c = node->data; + /* Keep control connections open until the end, so they know when we really terminated */ + if(c->status.control) + c->socket = -1; c->outgoing = NULL; terminate_connection(c, false); } -- 2.39.5