From 69afe9d230c7ef68c414f0fa10a3e5624fbf0a49 Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Tue, 16 Apr 2013 23:03:33 +0200 Subject: [PATCH] fix closing of already closed files --- citadel/serv_extensions.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/citadel/serv_extensions.c b/citadel/serv_extensions.c index cf1270cc6..a4c58d048 100644 --- a/citadel/serv_extensions.c +++ b/citadel/serv_extensions.c @@ -1226,18 +1226,29 @@ void CtdlShutdownServiceHooks(void) void CtdlDestroyServiceHook(void) { + const char *Text; ServiceFunctionHook *cur, *p; cur = ServiceHookTable; while (cur != NULL) { - close(cur->msock); + if (cur->msock != -1) + { + close(cur->msock); + Text = "Closed"; + } + else + { + Text = " Not closing again"; + } + if (cur->sockpath) { - MOD_syslog(LOG_INFO, "Closed UNIX domain socket %s\n", + MOD_syslog(LOG_INFO, "%s UNIX domain socket %s\n", + Text, cur->sockpath); unlink(cur->sockpath); } else if (cur->tcp_port) { - MOD_syslog(LOG_INFO, "Closed TCP port %d\n", cur->tcp_port); + MOD_syslog(LOG_INFO, "%s TCP port %d\n", Text, cur->tcp_port); } else { MOD_syslog(LOG_INFO, "Destroyed service \"%s\"\n", cur->ServiceName); } -- 2.30.2