]> git.sur5r.net Git - bacula/bacula/commitdiff
Work on message resources
authorKern Sibbald <kern@sibbald.com>
Thu, 9 May 2002 10:48:06 +0000 (10:48 +0000)
committerKern Sibbald <kern@sibbald.com>
Thu, 9 May 2002 10:48:06 +0000 (10:48 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@16 91ce42f0-d328-0410-95d8-f526ca767f89

13 files changed:
bacula/src/dird/dird.c
bacula/src/dird/dird_conf.c
bacula/src/dird/job.c
bacula/src/dird/ua_server.c
bacula/src/filed/filed.c
bacula/src/jcr.h
bacula/src/lib/jcr.c
bacula/src/lib/message.c
bacula/src/lib/protos.h
bacula/src/lib/signal.c
bacula/src/lib/watchdog.c
bacula/src/stored/stored.c
bacula/src/version.h

index bc1607d36733f7fd60789fc204a6d3b45cc86791..a9a49da782712b1c51e04b03884b6ab3c0010ec5 100644 (file)
@@ -160,7 +160,7 @@ int main (int argc, char *argv[])
       configfile = bstrdup(CONFIG_FILE);
    }
 
-   init_msg(NULL);                   /* initialize message handler */
+   init_msg(NULL, NULL);             /* initialize message handler */
    parse_config(configfile);
 
    if (!check_resources()) {
@@ -190,7 +190,7 @@ int main (int argc, char *argv[])
    Dmsg0(200, "Start UA server\n");
    start_UA_server(director->DIRport);
 
-   init_watchdog();                  /* start network watchdog thread */
+   start_watchdog();                 /* start network watchdog thread */
 
    init_job_server(director->MaxConcurrentJobs);
   
@@ -215,7 +215,7 @@ static void terminate_dird(int sig)
       exit(1);
    }
    already_here = TRUE;
-   term_watchdog();
+   stop_watchdog();
    signal(SIGCHLD, SIG_IGN);          /* don't worry about children now */
    term_scheduler();
    if (runjob) {
index 0d7937c7e5242fa0005b6a0ba236651f0f689cc8..6218f539ab68bcb904acdcdfe1eface3f5340cca 100644 (file)
@@ -584,7 +584,6 @@ void free_resource(int type)
            free(res->res_msgs.mail_cmd);
         if (res->res_msgs.operator_cmd)
            free(res->res_msgs.operator_cmd);
-
         break;
       case R_GROUP:
         break;
index 0d4cc77285886979e4874ab6ffc29cb5c7c0ead2..539b73cae0ccc75bf22a8f99fbd1fda3e17fd773 100644 (file)
@@ -259,6 +259,7 @@ void set_jcr_defaults(JCR *jcr, JOB *job)
    jcr->pool = job->pool;
    jcr->catalog = job->client->catalog;
    jcr->fileset = job->fs;
+   init_msg(jcr, job->messages);
    /* If no default level given, set one */
    if (jcr->level == 0) {
       switch (jcr->JobType) {
index b58405a0ccc6b8f9fba617c5bdcc08cc349553e5..8722a028d718550b5cc3ff447b649a49fbf444ab 100644 (file)
@@ -101,7 +101,6 @@ static void handle_UA_client_request(void *arg)
    ua.automount = TRUE;
    ua.verbose = TRUE;
    ua.jcr = new_jcr(sizeof(JCR), dird_free_jcr);
-   close_msg(ua.jcr);                 /* we don't handle messages */
    ua.jcr->sd_auth_key = bstrdup("dummy"); /* dummy Storage daemon key */
    ua.UA_sock = UA_sock;
    ua.cmd = (char *) get_pool_memory(PM_FNAME);
index 7e7ee3be1dd3f1beabf1fa7c4428cb6742161010..5a40ade9fb3b070c587ec66ccda239745347c2ff 100644 (file)
@@ -144,7 +144,7 @@ int main (int argc, char *argv[])
    }
 
 
-   init_msg(NULL);
+   init_msg(NULL, NULL);
    parse_config(configfile);
 
    LockRes();
@@ -179,7 +179,7 @@ Without that I don't know who I am :-(\n"), configfile);
    me += 1000000;
 #endif
 
-   init_watchdog();                  /* start watchdog thread */
+   start_watchdog();                 /* start watchdog thread */
 
    /* Become server, and handle requests */
    Dmsg1(10, "filed: listening on port %d\n", me->FDport);
@@ -190,7 +190,7 @@ Without that I don't know who I am :-(\n"), configfile);
 
 void terminate_filed(int sig)
 {
-   term_watchdog();
+   stop_watchdog();
 
    if (configfile != NULL) {
       free(configfile);
index 7557539c42d4679560970925739dfdeb522fb5d4..e25ed3ab8613107625e81c4145d49658719e233b 100644 (file)
@@ -98,6 +98,7 @@ struct s_jcr {
    char *VolumeName;                  /* Volume name desired -- pool_memory */
    char *client_name;                 /* client name */
    char *sd_auth_key;                 /* SD auth key */
+   MSGS *msgs;                        /* Message resource */
    DEST *dest_chain;                  /* Job message destination chain */
    char send_msg[nbytes_for_bits(M_MAX+1)]; /* message bit mask */
 
index a29454d751d1eaac0664958f6f06580a6e9a804b..c17616793c5e7eb754a9d2c16a9ded95b4ecc553 100755 (executable)
@@ -63,7 +63,6 @@ JCR *new_jcr(int size, JCR_free_HANDLER *daemon_free_jcr)
    jcr->VolumeName[0] = 0;
    jcr->errmsg = (char *) get_pool_memory(PM_MESSAGE);
    jcr->errmsg[0] = 0;
-   init_msg(jcr);                    /* init job message chain */
    jobs = jcr;
    V(mutex);
    return jcr;
index 8b88e3006e2c134b4dd10f6fa0405ad04c7a957d..ec5cb380619f6b5a32a230531c812179668523f5 100755 (executable)
@@ -46,16 +46,7 @@ FILE *con_fd = NULL;
 
 /* Imported functions */
 
-/* This chain contains all the possible destinations */
-DEST *dest_chain = NULL;
-/* 
- * send_msg has a bit set for each type that has a 
- * message destination. The info in send_msg[] is 
- * contained in the dest structures,
- * but we keep it here for speed so that we don't have to
- * search all the structures in all the cases. 
- */
-char send_msg[nbytes_for_bits(M_MAX+1)];
+static MSGS daemon_msg;              /* global messages */
 
 /* 
  * Set daemon name. Also, find canonical execution
@@ -131,19 +122,22 @@ void my_name_is(int argc, char *argv[], char *name)
 
 /* Initialize message handler */
 void
-init_msg(void *vjcr)
+init_msg(void *vjcr, MSGS *msg)
 {
    DEST *d, *dnew, *temp_chain = NULL;
    JCR *jcr = (JCR *)vjcr;
 
+   if (!msg) {                       /* If nothing specified, use */
+      msg = &daemon_msg;             /*  daemon global message resource */
+   }
    if (!jcr) { 
-      memset(send_msg, 0, sizeof(send_msg));  /* init daemon stuff */
+      memset(msg, 0, sizeof(msg));           /* init daemon global message */
    } else {                                  /* init for job */
       /* Walk down the global chain duplicating it
        * for the current Job.  No need to duplicate
        * the attached strings.
        */
-      for (d=dest_chain; d; d=d->next) {
+      for (d=daemon_msg.dest_chain; d; d=d->next) {
         dnew = (DEST *) malloc(sizeof(DEST));
         memcpy(dnew, d, sizeof(DEST));
         dnew->next = temp_chain;
@@ -153,7 +147,7 @@ init_msg(void *vjcr)
       }
 
       jcr->dest_chain = temp_chain;
-      memcpy(jcr->send_msg, send_msg, sizeof(send_msg));
+      memcpy(jcr->send_msg, daemon_msg.send_msg, sizeof(daemon_msg.send_msg));
    }
 }
 
@@ -197,23 +191,23 @@ void add_msg_dest(MSGS *msg, int dest_code, int msg_type, char *where, char *mai
    /* First search the existing chain and see if we
     * can simply add this msg_type to an existing entry.
     */
-   for (d=dest_chain; d; d=d->next) {
+   for (d=daemon_msg.dest_chain; d; d=d->next) {
       if (dest_code == d->dest_code && ((where == NULL && d->where == NULL) ||
                     (strcmp(where, d->where) == 0))) {  
          Dmsg4(200, "Add to existing d=%x msgtype=%d destcode=%d where=%s\n", 
             d, msg_type, dest_code, where);
         set_bit(msg_type, d->msg_types);
-        set_bit(msg_type, send_msg);  /* set msg_type bit in our local */
+        set_bit(msg_type, daemon_msg.send_msg);  /* set msg_type bit in our local */
         return;
       }
    }
    /* Not found, create a new entry */
    d = (DEST *) malloc(sizeof(DEST));
    memset(d, 0, sizeof(DEST));
-   d->next = dest_chain;
+   d->next = daemon_msg.dest_chain;
    d->dest_code = dest_code;
    set_bit(msg_type, d->msg_types);     /* set type bit in structure */
-   set_bit(msg_type, send_msg);         /* set type bit in our local */
+   set_bit(msg_type, daemon_msg.send_msg); /* set type bit in our local */
    if (where) {
       d->where = bstrdup(where);
    }
@@ -223,7 +217,7 @@ void add_msg_dest(MSGS *msg, int dest_code, int msg_type, char *where, char *mai
    Dmsg5(200, "add new d=%x msgtype=%d destcode=%d where=%s mailcmd=%s\n", 
           d, msg_type, dest_code, where?where:"(null)", 
           d->mail_cmd?d->mail_cmd:"(null)");
-   dest_chain = d;
+   daemon_msg.dest_chain = d;
 }
 
 /* 
@@ -235,7 +229,7 @@ void rem_msg_dest(MSGS *msg, int dest_code, int msg_type, char *where)
 {
    DEST *d;
 
-   for (d=dest_chain; d; d=d->next) {
+   for (d=daemon_msg.dest_chain; d; d=d->next) {
       Dmsg2(200, "Remove_msg_dest d=%x where=%s\n", d, d->where);
       if (bit_is_set(msg_type, d->msg_types) && (dest_code == d->dest_code) &&
          ((where == NULL && d->where == NULL) ||
@@ -552,7 +546,7 @@ void term_msg()
 {
    DEST *d, *n;
    
-   for (d=dest_chain; d; d=n) {
+   for (d=daemon_msg.dest_chain; d; d=n) {
       if (d->fd) {
         if (d->dest_code == MD_FILE || d->dest_code == MD_APPEND) {
            fclose(d->fd);            /* close open file descriptor */
@@ -609,7 +603,7 @@ void dispatch_message(void *vjcr, int type, int level, char *buf)
     if (jcr) {
        d = jcr->dest_chain;          /* use job message chain */
     } else {
-       d = dest_chain;               /* use global chain */
+       d = daemon_msg.dest_chain;     /* use global chain */
     }
     for ( ; d; d=d->next) {
        if (bit_is_set(type, d->msg_types)) {
@@ -662,7 +656,6 @@ void dispatch_message(void *vjcr, int type, int level, char *buf)
                   char *name  = (char *)get_pool_memory(PM_MESSAGE);
                   make_unique_mail_filename(jcr, &name, d);
                    d->fd = fopen(name, "w+");
-                   Dmsg2(100, "Open mail file %d: %s\n", d->fd, name);
                   if (!d->fd) {
                       Emsg2(M_ERROR, 0, "fopen %s failed: ERR=%s\n", name, strerror(errno));
                      free_pool_memory(name);
@@ -786,7 +779,7 @@ e_msg(char *file, int line, int type, int level, char *fmt,...)
      * Check if we have a message destination defined. 
      * We always report M_ABORT 
      */
-    if (type != M_ABORT && !bit_is_set(type, send_msg))
+    if (type != M_ABORT && !bit_is_set(type, daemon_msg.send_msg))
        return;                       /* no destination */
     switch (type) {
        case M_ABORT:
index 93737d5fa3133c326c617c6e871d2d74ab67521e..cc114032ecc03ed22df5d425c8934c73295ff0e7 100644 (file)
  */
 
 /* base64.c */
-void     base64_init            __PROTO((void));
-int      to_base64              __PROTO((intmax_t value, char *where));
-int      from_base64            __PROTO((intmax_t *value, char *where));
-void     encode_stat            __PROTO((char *buf, struct stat *statp));
-void     decode_stat            __PROTO((char *buf, struct stat *statp));
-int      bin_to_base64          __PROTO((char *buf, char *bin, int len));
+void      base64_init            __PROTO((void));
+int       to_base64              __PROTO((intmax_t value, char *where));
+int       from_base64            __PROTO((intmax_t *value, char *where));
+void      encode_stat            __PROTO((char *buf, struct stat *statp));
+void      decode_stat            __PROTO((char *buf, struct stat *statp));
+int       bin_to_base64          __PROTO((char *buf, char *bin, int len));
 
 /* bmisc.c */
-void    *b_malloc               (char *file, int line, size_t size);
+void     *b_malloc               (char *file, int line, size_t size);
 #ifndef DEBUG
-void    *bmalloc                (size_t size);
+void     *bmalloc                (size_t size);
 #endif
-void    *brealloc               (void *buf, size_t size);
-void    *bcalloc                (size_t size1, size_t size2);
-int      bsnprintf              (char *str, size_t size, const  char  *format, ...);
-int      bvsnprintf             (char *str, size_t size, const char  *format, va_list ap);
-int      pool_sprintf           (char *pool_buf, char *fmt, ...);
-int      create_pid_file        (char *dir, char *progname, int port, char *errmsg);
-int      delete_pid_file        (char *dir, char *progname, int port);
+void     *brealloc               (void *buf, size_t size);
+void     *bcalloc                (size_t size1, size_t size2);
+int       bsnprintf              (char *str, size_t size, const  char  *format, ...);
+int       bvsnprintf             (char *str, size_t size, const char  *format, va_list ap);
+int       pool_sprintf           (char *pool_buf, char *fmt, ...);
+int       create_pid_file        (char *dir, char *progname, int port, char *errmsg);
+int       delete_pid_file        (char *dir, char *progname, int port);
 
 /* bnet.c */
-int32_t    bnet_recv            __PROTO((BSOCK *bsock));
-int       bnet_send             __PROTO((BSOCK *bsock));
-int       bnet_fsend              (BSOCK *bs, char *fmt, ...);
-int       bnet_set_buffer_size    (BSOCK *bs, uint32_t size, int rw);
-int       bnet_sig                (BSOCK *bs, int sig);
-BSOCK *    bnet_connect           (void *jcr, int retry_interval,
-              int max_retry_time, char *name, char *host, char *service, 
-              int port, int verbose);
-int       bnet_wait_data         (BSOCK *bsock, int sec);
-void      bnet_close            __PROTO((BSOCK *bsock));
-BSOCK *    init_bsock           __PROTO((int sockfd, char *who, char *ip, int port));
-BSOCK *    dup_bsock            __PROTO((BSOCK *bsock));
-void      term_bsock            __PROTO((BSOCK *bsock));
-char *    bnet_strerror         __PROTO((BSOCK *bsock));
-char *    bnet_sig_to_ascii     __PROTO((BSOCK *bsock));
-int       bnet_wait_data        __PROTO((BSOCK *bsock, int sec));
+int32_t    bnet_recv             __PROTO((BSOCK *bsock));
+int        bnet_send             __PROTO((BSOCK *bsock));
+int        bnet_fsend              (BSOCK *bs, char *fmt, ...);
+int        bnet_set_buffer_size    (BSOCK *bs, uint32_t size, int rw);
+int        bnet_sig                (BSOCK *bs, int sig);
+BSOCK *    bnet_connect            (void *jcr, int retry_interval,
+               int max_retry_time, char *name, char *host, char *service, 
+               int port, int verbose);
+int        bnet_wait_data         (BSOCK *bsock, int sec);
+void       bnet_close            __PROTO((BSOCK *bsock));
+BSOCK *    init_bsock            __PROTO((int sockfd, char *who, char *ip, int port));
+BSOCK *    dup_bsock             __PROTO((BSOCK *bsock));
+void       term_bsock            __PROTO((BSOCK *bsock));
+char *     bnet_strerror         __PROTO((BSOCK *bsock));
+char *     bnet_sig_to_ascii     __PROTO((BSOCK *bsock));
+int        bnet_wait_data        __PROTO((BSOCK *bsock, int sec));
 
 
 /* cram-md5.c */
 int cram_md5_get_auth(BSOCK *bs, char *password);
 int cram_md5_auth(BSOCK *bs, char *password);
 void hmac_md5(uint8_t* text, int text_len, uint8_t*  key,
-             int key_len, uint8_t *hmac);
+              int key_len, uint8_t *hmac);
 
 /* create_file.c */
 int create_file(void *jcr, char *fname, char *ofile, char *lname,
-                      int type, struct stat *statp, int *ofd);
+                       int type, struct stat *statp, int *ofd);
 int set_statp(void *jcr, char *fname, char *ofile, char *lname, int type, 
-                      struct stat *statp);
+                       struct stat *statp);
 
 
 /* crc32.c */
 uint32_t bcrc32(uint8_t *buf, int len);
 
 /* daemon.c */
-void    daemon_start            __PROTO(());
+void     daemon_start            __PROTO(());
 
 /* lex.c */
-LEX *    lex_close_file         __PROTO((LEX *lf));
-LEX *    lex_open_file          __PROTO((LEX *lf, char *fname));
-int      lex_get_char           __PROTO((LEX *lf));
-void     lex_unget_char         __PROTO((LEX *lf));
-char *   lex_tok_to_str         __PROTO((int token));
-int      lex_get_token          __PROTO((LEX *lf));
+LEX *     lex_close_file         __PROTO((LEX *lf));
+LEX *     lex_open_file          __PROTO((LEX *lf, char *fname));
+int       lex_get_char           __PROTO((LEX *lf));
+void      lex_unget_char         __PROTO((LEX *lf));
+char *    lex_tok_to_str         __PROTO((int token));
+int       lex_get_token          __PROTO((LEX *lf));
 
 /* makepath.c */
 int make_path(
-          void *jcr,
-          const char *argpath,
-          int mode,
-          int parent_mode,
-          uid_t owner,
-          gid_t group,
-          int preserve_existing,
-          char *verbose_fmt_string);
+           void *jcr,
+           const char *argpath,
+           int mode,
+           int parent_mode,
+           uid_t owner,
+           gid_t group,
+           int preserve_existing,
+           char *verbose_fmt_string);
 
 
 /* message.c */
-void      my_name_is            __PROTO((int argc, char *argv[], char *name));
-void      init_msg              __PROTO((void *jcr));
-void      term_msg              __PROTO((void));
-void      close_msg             __PROTO((void *jcr));
-void      add_msg_dest          __PROTO((MSGS *msg, int dest, int type, char *where, char *dest_code));
-void      rem_msg_dest          __PROTO((MSGS *msg, int dest, int type, char *where));
-void      Jmsg                  (void *jcr, int type, int level, char *fmt, ...);
-void      dispatch_message      __PROTO((void *jcr, int type, int level, char *buf));
-void      init_console_msg      __PROTO((char *wd));
+void       my_name_is            __PROTO((int argc, char *argv[], char *name));
+void       init_msg              __PROTO((void *jcr, MSGS *msg));
+void       term_msg              __PROTO((void));
+void       close_msg             __PROTO((void *jcr));
+void       add_msg_dest          __PROTO((MSGS *msg, int dest, int type, char *where, char *dest_code));
+void       rem_msg_dest          __PROTO((MSGS *msg, int dest, int type, char *where));
+void       Jmsg                  (void *jcr, int type, int level, char *fmt, ...);
+void       dispatch_message      __PROTO((void *jcr, int type, int level, char *buf));
+void       init_console_msg      __PROTO((char *wd));
 
 
 /* bnet_server.c */
-void      bnet_thread_server(int port, int max_clients, workq_t *client_wq, 
-                  void handle_client_request(void *bsock));
-void            bnet_server             __PROTO((int port, void handle_client_request(BSOCK *bsock)));
-int             net_connect             __PROTO((int port));
-BSOCK *         bnet_bind               __PROTO((int port));
-BSOCK *         bnet_accept             __PROTO((BSOCK *bsock, char *who));
+void       bnet_thread_server(int port, int max_clients, workq_t *client_wq, 
+                   void handle_client_request(void *bsock));
+void             bnet_server             __PROTO((int port, void handle_client_request(BSOCK *bsock)));
+int              net_connect             __PROTO((int port));
+BSOCK *          bnet_bind               __PROTO((int port));
+BSOCK *          bnet_accept             __PROTO((BSOCK *bsock, char *who));
 
 /* signal.c */
-void            init_signals             __PROTO((void terminate(int sig)));
-void            init_stack_dump          (void);
+void             init_signals             __PROTO((void terminate(int sig)));
+void             init_stack_dump          (void);
 
 /* util.c */
-void            lcase                   __PROTO((char *str));
-void            bash_spaces             __PROTO((char *str));
-void            unbash_spaces           __PROTO((char *str));
-void            strip_trailing_junk     __PROTO((char *str));
-void            strip_trailing_slashes  __PROTO((char *dir));
-int             skip_spaces             __PROTO((char **msg));
-int             skip_nonspaces          __PROTO((char **msg));
-int             fstrsch                 __PROTO((char *a, char *b));
-char *          encode_time             __PROTO((time_t time, char *buf));
-char *          encode_mode             __PROTO((mode_t mode, char *buf));
-char *          edit_uint64_with_commas   __PROTO((uint64_t val, char *buf));
-char *          add_commas              __PROTO((char *val, char *buf));
-char *          edit_uint64             (uint64_t val, char *buf);
-int             do_shell_expansion      (char *name);
-int             is_a_number             (const char *num);
-int             string_to_btime(char *str, btime_t *value);
-char            *edit_btime(btime_t val, char *buf);
+void             lcase                   __PROTO((char *str));
+void             bash_spaces             __PROTO((char *str));
+void             unbash_spaces           __PROTO((char *str));
+void             strip_trailing_junk     __PROTO((char *str));
+void             strip_trailing_slashes  __PROTO((char *dir));
+int              skip_spaces             __PROTO((char **msg));
+int              skip_nonspaces          __PROTO((char **msg));
+int              fstrsch                 __PROTO((char *a, char *b));
+char *           encode_time             __PROTO((time_t time, char *buf));
+char *           encode_mode             __PROTO((mode_t mode, char *buf));
+char *           edit_uint64_with_commas   __PROTO((uint64_t val, char *buf));
+char *           add_commas              __PROTO((char *val, char *buf));
+char *           edit_uint64             (uint64_t val, char *buf);
+int              do_shell_expansion      (char *name);
+int              is_a_number             (const char *num);
+int              string_to_btime(char *str, btime_t *value);
+char             *edit_btime(btime_t val, char *buf);
 
 
 /*
- *void          print_ls_output         __PROTO((char *fname, char *lname, int type, struct stat *statp));
+ *void           print_ls_output         __PROTO((char *fname, char *lname, int type, struct stat *statp));
  */
 
 /* watchdog.c */
-int init_watchdog(void);
-int term_watchdog(void);
+int start_watchdog(void);
+int stop_watchdog(void);
index e4d41b632a3b5b97a721f74abc57a34bf5094ce8..de9fdfe6913c38e4324c3543e27da1eabeaaf3a4 100644 (file)
@@ -62,7 +62,7 @@ static void signal_handler(int sig)
    struct sigaction sigdefault;
 
    if (already_dead) {
-      abort();
+      _exit(1);
    }
    already_dead = TRUE;
    if (sig == SIGTERM) {
@@ -125,7 +125,6 @@ static void signal_handler(int sig)
          Dmsg0(500, "Doing sleep\n");
         sleep(30);
       }
-      abort();                       /* produce dump */
    }
 #endif
 
index 1bcccc4ef63010dcc1f28a905bbb0e4351cb2fcd..9cda310aa75cfbd11d676c78350b21cd4bef6c3b 100755 (executable)
@@ -56,12 +56,12 @@ static void timeout_handler(int sig)
 
 
 /*   
- * Initialize watchdog thread
+ * Start watchdog thread
  *
  *  Returns: 0 on success
  *          errno on failure
  */
-int init_watchdog(void)
+int start_watchdog(void)
 {
    int stat;
    pthread_t wdid;
@@ -94,7 +94,7 @@ int init_watchdog(void)
  * Returns: 0 on success
  *         errno on failure
  */
-int term_watchdog(void)
+int stop_watchdog(void)
 {
    int stat;
 
index eabbd18efd1f88985cd84ecb33172cf84444e794..cfe86abc7590dcdea0887cd441b00d038b27cd29 100644 (file)
@@ -162,7 +162,7 @@ int main (int argc, char *argv[])
       configfile = bstrdup(CONFIG_FILE);
    }
 
-   init_msg(NULL);
+   init_msg(NULL, NULL);
    parse_config(configfile);
    check_config();
 
@@ -245,7 +245,7 @@ int main (int argc, char *argv[])
    UnlockRes();
    device = NULL;
 
-   init_watchdog();                  /* start watchdog thread */
+   start_watchdog();                 /* start watchdog thread */
 
    /*
     * Here we support either listening on one port or on two ports
@@ -347,7 +347,7 @@ void terminate_stored(int sig)
    }
    in_here = TRUE;
 
-   term_watchdog();
+   stop_watchdog();
 
    Dmsg0(200, "In terminate_stored()\n");
 
index 625956f409cfe2f671fdc0b57cfa4d7bbe83bbbf..01f063f51c9e9866955abc10c8c95742d05e19dd 100644 (file)
@@ -1,8 +1,8 @@
 /* */
 #define VERSION "1.19"
 #define VSTRING "1"
-#define DATE    "08 May 2002"
-#define LSMDATE "08May02"
+#define DATE    "09 May 2002"
+#define LSMDATE "09May02"
 
 /* Debug flags */
 #define DEBUG 1