]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/filed/filed.c
es Fix error message that was clobbered when Dir tells SD it does not
[bacula/bacula] / bacula / src / filed / filed.c
index 3f96b0d913807e2f258b4515ef6ad11b60ee6d9e..6852b0ccef43621ca476b66a198f2fadce424d01 100644 (file)
@@ -232,6 +232,14 @@ int main (int argc, char *argv[])
 
 void terminate_filed(int sig)
 {
+   static bool already_here = false;
+
+   if (already_here) {
+      exit(1);                        /* prevent loops */
+   }
+   already_here = true;
+   stop_watchdog();
+
    bnet_stop_thread_server(server_tid);
    generate_daemon_event(NULL, "Exit");
    write_state_file(me->working_directory, "bacula-fd", get_first_port_host_order(me->FDaddrs));
@@ -240,12 +248,12 @@ void terminate_filed(int sig)
    if (configfile != NULL) {
       free(configfile);
    }
+
    if (debug_level > 0) {
       print_memory_pool_stats();
    }
-   free_config_resources();
    term_msg();
-   stop_watchdog();
+   free_config_resources();
    cleanup_crypto();
    close_memory_pool();               /* release free memory in pool */
    sm_dump(false);                    /* dump orphaned buffers */