]> code.citadel.org Git - citadel.git/blobdiff - citadel/citserver.c
* Close the fd to our control file.
[citadel.git] / citadel / citserver.c
index df8599791b7868b94fdd9e49d1f50c02a349d222..a4f5e4cd4cbd9d7b8d76de1f348e17ef89f1669b 100644 (file)
@@ -65,7 +65,6 @@ char *unique_session_numbers;
 int ScheduledShutdown = 0;
 int do_defrag = 0;
 time_t server_startup_time;
-char pid_file_name[PATH_MAX];
 
 /*
  * Various things that need to be initialized at startup
@@ -75,19 +74,10 @@ void master_startup(void) {
        unsigned int seed;
        FILE *urandom;
        struct ctdlroom qrbuf;
-       FILE *pidfile_fp;
        
        lprintf(CTDL_DEBUG, "master_startup() started\n");
        time(&server_startup_time);
 
-       /* pid file.  If we go FSSTND this should end up in 'localstatedir' */
-       snprintf(pid_file_name, sizeof pid_file_name, "./citadel.pid");
-       pidfile_fp = fopen(pid_file_name, "w");
-       if (pidfile_fp != NULL) {
-               fprintf(pidfile_fp, "%d\n", (int)getpid());
-               fclose(pidfile_fp);
-       }
-
        lprintf(CTDL_INFO, "Opening databases\n");
        open_databases();
 
@@ -175,12 +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);
-
-       unlink(pid_file_name);
+       
        exit(exitcode);
 }