]> code.citadel.org Git - citadel.git/blobdiff - citadel/sysdep.c
Eventhandling: fix shutdownhandlers
[citadel.git] / citadel / sysdep.c
index 816ed3f16d0f527627d6571c4746d7406bef580d..b8d190a8b254b1e742c8e5989b9db829d3461ea5 100644 (file)
@@ -927,16 +927,18 @@ void close_masters (void)
 
                if (serviceptr->tcp_port > 0)
                {
-                       syslog(LOG_INFO, "Closing listener on port %d\n",
-                               serviceptr->tcp_port);
+                       syslog(LOG_INFO, "Closing %d listener on port %d\n",
+                              serviceptr->msock,
+                              serviceptr->tcp_port);
                        serviceptr->tcp_port = 0;
                }
                
                if (serviceptr->sockpath != NULL)
-                       syslog(LOG_INFO, "Closing listener on '%s'\n",
-                               serviceptr->sockpath);
-
-               close(serviceptr->msock);
+                       syslog(LOG_INFO, "Closing %d listener on '%s'\n",
+                              serviceptr->msock,
+                              serviceptr->sockpath);
+                if (serviceptr->msock != -1)
+                       close(serviceptr->msock);
                /* If it's a Unix domain socket, remove the file. */
                if (serviceptr->sockpath != NULL) {
                        unlink(serviceptr->sockpath);
@@ -970,6 +972,7 @@ void sysdep_master_cleanup(void) {
        CtdlDestroyServiceHook();
        CtdlDestroyRoomHooks();
        CtdlDestroySearchHooks();
+       CtdlDestroyDebugTable();
        #ifdef HAVE_BACKTRACE
 ///    eCrash_Uninit();
        #endif
@@ -1093,7 +1096,7 @@ void checkcrash(void)
                        "factor.\n \n"
                        " You can obtain more information about this by enabling core dumps.\n \n"
                        " For more information, please see:\n \n"
-                       " http://citadel.org/doku.php/faq:mastering_your_os:gdb#how.do.i.make.my.system.produce.core-files"
+                       " http://citadel.org/doku.php?id=faq:mastering_your_os:gdb#how.do.i.make.my.system.produce.core-files"
                        "\n \n"
 
                        " If you have already done this, the core dump is likely to be found at %score.%d\n"
@@ -1269,6 +1272,7 @@ do_select:        force_purge = 0;
                                        con = CreateNewContext();
 
                                        /* Assign our new socket number to it. */
+                                       con->tcp_port = serviceptr->tcp_port;
                                        con->client_socket = ssock;
                                        con->h_command_function = serviceptr->h_command_function;
                                        con->h_async_function = serviceptr->h_async_function;