]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
<rdar://problem/15313228> "Canceling stuck job after XXX seconds" message should...
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Thu, 7 Nov 2013 14:33:00 +0000 (14:33 +0000)
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Thu, 7 Nov 2013 14:33:00 +0000 (14:33 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11408 a1ca3aef-8c08-0410-bb20-df032aa958be

scheduler/job.c

index 626d8bdbb7ba8c326abf060100b6fe6b97bfb7f2..e82ca025cde5ec76e3f1645c1706c9c477e54a6f 100644 (file)
@@ -270,12 +270,14 @@ cupsdCheckJobs(void)
 
     if (job->cancel_time && job->cancel_time <= curtime)
     {
+      ipp_attribute_t *attr = ippFindAttribute(job->attrs, "job-cancel-after", IPP_TAG_INTEGER);
+      int cancel_after = attr ? ippGetInteger(attr, 0) : MaxJobTime;
+                                       /* job-cancel-after value */
+
       if (job->completed)
-       cupsdSetJobState(job, IPP_JOB_CANCELED, CUPSD_JOB_FORCE,
-                        "Marking stuck job as completed after %d seconds.", MaxJobTime);
+       cupsdSetJobState(job, IPP_JOB_CANCELED, CUPSD_JOB_FORCE, "Marking stuck job as completed after %d seconds.", cancel_after);
       else
-       cupsdSetJobState(job, IPP_JOB_CANCELED, CUPSD_JOB_DEFAULT,
-                        "Canceling stuck job after %d seconds.", MaxJobTime);
+       cupsdSetJobState(job, IPP_JOB_CANCELED, CUPSD_JOB_DEFAULT, "Canceling stuck job after %d seconds.", cancel_after);
       continue;
     }