]> git.sur5r.net Git - bacula/bacula/commitdiff
Init messages fix
authorKern Sibbald <kern@sibbald.com>
Sat, 25 May 2002 20:30:15 +0000 (20:30 +0000)
committerKern Sibbald <kern@sibbald.com>
Sat, 25 May 2002 20:30:15 +0000 (20:30 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@30 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/dird/dird.c
bacula/src/dird/job.c
bacula/src/dird/scheduler.c
bacula/src/lib/message.c

index 0313d1bb4faf32d4a6604f20920700ced7765d85..8de6fce6c3ba835d9e021acebeb9dcb6eb8d75d6 100644 (file)
@@ -201,8 +201,9 @@ int main (int argc, char *argv[])
    /* Main loop -- call scheduler to get next job to run */
    while ((jcr = wait_for_next_job(runjob))) {
       run_job(jcr);                  /* run job */
-      if (runjob)                    /* command line, run a single job? */
+      if (runjob) {                  /* command line, run a single job? */
         break;                       /* yes, terminate */
+      }
    }
 
    terminate_dird(0);
index 28d1a1fb583ccee4d94f4d865360e7bf61d97351..dee93224dff81e98e00e17af0a4e6126fdb22c6d 100644 (file)
@@ -69,6 +69,7 @@ void run_job(JCR *jcr)
 {
    int stat, errstat;
 
+   init_msg(jcr, jcr->msgs);
    create_unique_job_name(jcr, jcr->job->hdr.name);
    jcr->jr.SchedTime = jcr->sched_time;
    jcr->jr.StartTime = jcr->start_time;
@@ -79,7 +80,7 @@ void run_job(JCR *jcr)
 
    /* Initialize termination condition variable */
    if ((errstat = pthread_cond_init(&jcr->term_wait, NULL)) != 0) {
-      Emsg1(M_FATAL, 0, _("Unable to init job cond variable: ERR=%s\n"), strerror(errstat));
+      Jmsg1(jcr, M_FATAL, 0, _("Unable to init job cond variable: ERR=%s\n"), strerror(errstat));
       jcr->JobStatus = JS_ErrorTerminated;
       free_jcr(jcr);
       return;
@@ -329,7 +330,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);
+   jcr->msgs = job->messages; 
    /* If no default level given, set one */
    if (jcr->level == 0) {
       switch (jcr->JobType) {
index cda74b0e821a302cabd9cee727623d18c6ee2aa0..79d2b4fc6afd7831455df7ddd9be6619a64d12e1 100644 (file)
@@ -76,7 +76,7 @@ JCR *wait_for_next_job(char *job_to_run)
       if (job_to_run) {              /* one shot */
         job = (JOB *)GetResWithName(R_JOB, job_to_run);
         if (!job) {
-            Emsg1(M_ERROR, 0, _("Job %s not found\n"), job_to_run);
+            Emsg1(M_ABORT, 0, _("Job %s not found\n"), job_to_run);
         }
          Dmsg1(5, "Found job_to_run %s\n", job_to_run);
         jcr = new_jcr(sizeof(JCR), dird_free_jcr);
@@ -130,6 +130,8 @@ JCR *wait_for_next_job(char *job_to_run)
    rem_runjobs--;                    /* decrement count of remaining jobs */
 
    jcr = new_jcr(sizeof(JCR), dird_free_jcr);
+   ASSERT(job);
+   sm_check(__FILE__, __LINE__, False);
    set_jcr_defaults(jcr, job);
    if (run->level) {
       jcr->level = run->level;       /* override run level */
index e36b55d4876c101949083c8dfe1494bf7f9b2fb8..481e460f530b64df23b7754b8bf1fcc60318527c 100755 (executable)
@@ -575,6 +575,7 @@ rem_temp_file:
    free_pool_memory(cmd);
 
    free_msgs_res(msgs);
+   msgs = NULL;
 }
 
 /*