]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/filed/filed.c
Add Peter Eriksson's const code + turn bsscanf code
[bacula/bacula] / bacula / src / filed / filed.c
index 3a7b5bb85b74cde6ce3c552ed5d7ec93899b2af2..adf7c3364fcdb30ac7ce83efc554ff3dcfb7cf31 100644 (file)
@@ -54,6 +54,7 @@ static char *configfile = NULL;
 static int foreground = 0;
 static int inetd_request = 0;
 static workq_t dir_workq;            /* queue of work from Director */
+static pthread_t server_tid;
 
 
 static void usage()
@@ -96,7 +97,7 @@ int main (int argc, char *argv[])
 
    init_stack_dump();
    my_name_is(argc, argv, "bacula-fd");
-   textdomain("bacula-fd");
+   textdomain("bacula");
    init_msg(NULL, NULL);
    daemon_start_time = time(NULL);
 
@@ -227,6 +228,7 @@ Without that I don't know who I am :-(\n"), configfile);
    start_watchdog();                 /* start watchdog thread */
 
    init_jcr_subsystem();             /* start JCR watchdogs etc. */
+   server_tid = pthread_self();
 
    if (inetd_request) {
       /* Socket is on fd 0 */         
@@ -248,6 +250,7 @@ Without that I don't know who I am :-(\n"), configfile);
 
 void terminate_filed(int sig)
 {
+   bnet_stop_thread_server(server_tid);
    write_state_file(me->working_directory, "bacula-fd", me->FDport);
    delete_pid_file(me->pid_directory, "bacula-fd", me->FDport);
    if (configfile != NULL) {
@@ -260,6 +263,6 @@ void terminate_filed(int sig)
    term_msg();
    stop_watchdog();
    close_memory_pool();              /* release free memory in pool */
-   sm_dump(False);                   /* dump orphaned buffers */
-   exit(1);
+   sm_dump(false);                   /* dump orphaned buffers */
+   exit(sig);
 }