Index: src/dird/job.c
===================================================================
---- src/dird/job.c (révision 7929)
-+++ src/dird/job.c (copie de travail)
-@@ -551,7 +551,7 @@
+--- src/dird/job.c (revision 7939)
++++ src/dird/job.c (working copy)
+@@ -549,9 +549,10 @@
+ if (!job_waiting(jcr)) {
+ return false;
}
- Dmsg3(200, "check maxwaittime %u - %u >= %u\n", watchdog_time, jcr->wait_time, job->MaxWaitTime);
- if (job->MaxWaitTime != 0 &&
+- Dmsg3(200, "check maxwaittime %u - %u >= %u\n", watchdog_time, jcr->wait_time, job->MaxWaitTime);
+- if (job->MaxWaitTime != 0 &&
- (watchdog_time - jcr->wait_time) >= job->MaxWaitTime) {
++ Dmsg3(200, "check maxwaittime %u - %u >= %u\n",
++ (watchdog_time - jcr->wait_time), jcr->wait_time, job->MaxWaitTime);
++ if (job->MaxWaitTime != 0 && jcr->wait_time != 0 &&
+ (watchdog_time - jcr->wait_time + jcr->wait_time_sum) >= job->MaxWaitTime) {
cancel = true;
}
Index: src/jcr.h
===================================================================
---- src/jcr.h (révision 7929)
-+++ src/jcr.h (copie de travail)
+--- src/jcr.h (revision 7939)
++++ src/jcr.h (working copy)
@@ -216,7 +216,8 @@
time_t start_time; /* when job actually started */
time_t run_time; /* used for computing speed */
POOLMEM *stime; /* start time for incremental/differential */
Index: src/lib/jcr.c
===================================================================
---- src/lib/jcr.c (révision 7929)
-+++ src/lib/jcr.c (copie de travail)
+--- src/lib/jcr.c (revision 7939)
++++ src/lib/jcr.c (working copy)
@@ -738,41 +738,29 @@
return priority;
}
case JS_WaitMaxJobs:
case JS_WaitPriority:
- set_waittime = false; /* keep old time */
-+ if (!enter_in_waittime) {
++ if (!enter_in_waittime) { /* we get out the wait time */
+ jcr->wait_time_sum += (time(NULL) - jcr->wait_time);
+ jcr->wait_time = 0;
+ }
+void set_jcr_job_status(JCR *jcr, int JobStatus)
+{
+ int priority, old_priority;
-+
++ int oldJobStatus = jcr->JobStatus;
+ priority = get_status_priority(JobStatus);
+ old_priority = get_status_priority(oldJobStatus);
+