From: Kern Sibbald Date: Sat, 25 May 2002 20:30:15 +0000 (+0000) Subject: Init messages fix X-Git-Tag: Release-1.20~2 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=8c549c74d69f37e6109ec2c5432380e3a1a01cb2;p=bacula%2Fbacula Init messages fix git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@30 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/bacula/src/dird/dird.c b/bacula/src/dird/dird.c index 0313d1bb4f..8de6fce6c3 100644 --- a/bacula/src/dird/dird.c +++ b/bacula/src/dird/dird.c @@ -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); diff --git a/bacula/src/dird/job.c b/bacula/src/dird/job.c index 28d1a1fb58..dee93224df 100644 --- a/bacula/src/dird/job.c +++ b/bacula/src/dird/job.c @@ -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) { diff --git a/bacula/src/dird/scheduler.c b/bacula/src/dird/scheduler.c index cda74b0e82..79d2b4fc6a 100644 --- a/bacula/src/dird/scheduler.c +++ b/bacula/src/dird/scheduler.c @@ -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 */ diff --git a/bacula/src/lib/message.c b/bacula/src/lib/message.c index e36b55d487..481e460f53 100755 --- a/bacula/src/lib/message.c +++ b/bacula/src/lib/message.c @@ -575,6 +575,7 @@ rem_temp_file: free_pool_memory(cmd); free_msgs_res(msgs); + msgs = NULL; } /*