From: Wilfried Goesgens Date: Tue, 16 Apr 2013 21:03:33 +0000 (+0200) Subject: fix closing of already closed files X-Git-Tag: v8.20~58 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=69afe9d230c7ef68c414f0fa10a3e5624fbf0a49 fix closing of already closed files --- 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); }