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));
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 */