* Close the fd to our control file.
authorWilfried Göesgens <willi@citadel.org>
Sat, 20 Jan 2007 17:20:31 +0000 (17:20 +0000)
committerWilfried Göesgens <willi@citadel.org>
Sat, 20 Jan 2007 17:20:31 +0000 (17:20 +0000)
citadel/citserver.c
citadel/control.c
citadel/control.h

index 4a3dc8194b7f555d3be8b1bc14b2242ac0d0a45b..a4f5e4cd4cbd9d7b8d76de1f348e17ef89f1669b 100644 (file)
@@ -165,11 +165,13 @@ void master_cleanup(int exitcode) {
                        sleep(32767);
                }
        }
+       
+       release_control();
 
        /* Now go away. */
        lprintf(CTDL_NOTICE, "citserver: Exiting with status %d\n", exitcode);
        fflush(stdout); fflush(stderr);
-
+       
        exit(exitcode);
 }
 
index d340fcd0539795eb36813ef9f91c2e90b4130bc6..91731ce5e84a95916966122221550767b3aa35c4 100644 (file)
@@ -118,6 +118,15 @@ void put_control(void)
        }
 }
 
+/**
+ * release_control - close our fd on exit
+ */
+void release_control(void)
+{
+       if (control_fp != NULL)
+               fclose(control_fp);
+       control_fp = NULL;
+}
 
 /*
  * get_new_message_number()  -  Obtain a new, unique ID to be used for a message.
index 2c8fee8d6a79f964f46bf560847111e9c34dca45..ac75776e82253806934fd557378a68dfc4c38278 100644 (file)
@@ -1,6 +1,7 @@
 /* $Id$ */
 void get_control (void);
 void put_control (void);
+void release_control(void);
 long int get_new_message_number (void);
 long int get_new_user_number (void);
 long int get_new_room_number (void);