- Fixed JobKillDelay handling for cancelled jobs (bug #518026, STR #3292).

This commit is contained in:
Tim Waugh 2009-08-19 14:07:05 +00:00
parent 46a13bf675
commit e33cc28b16
2 changed files with 51 additions and 0 deletions

47
cups-str3292.patch Normal file
View File

@ -0,0 +1,47 @@
diff -up cups-1.4rc1/scheduler/job.c.cancel-job cups-1.4rc1/scheduler/job.c
--- cups-1.4rc1/scheduler/job.c.cancel-job 2009-08-19 14:48:55.733825903 +0100
+++ cups-1.4rc1/scheduler/job.c 2009-08-19 14:49:01.813826101 +0100
@@ -2359,19 +2359,21 @@ cupsdSetJobState(
break;
case IPP_JOB_ABORTED :
- case IPP_JOB_CANCELED :
case IPP_JOB_COMPLETED :
/*
- * Expire job subscriptions since the job is now "completed"...
+ * Remove the job from the active list...
*/
- cupsdExpireSubscriptions(NULL, job);
+ cupsArrayRemove(ActiveJobs, job);
+
+ /* fall through... */
+ case IPP_JOB_CANCELED :
/*
- * Remove the job from the active list...
+ * Expire job subscriptions since the job is now "completed"...
*/
- cupsArrayRemove(ActiveJobs, job);
+ cupsdExpireSubscriptions(NULL, job);
#ifdef __APPLE__
/*
diff -up cups-1.4rc1/scheduler/main.c.cancel-job cups-1.4rc1/scheduler/main.c
--- cups-1.4rc1/scheduler/main.c.cancel-job 2009-08-19 14:48:55.451701014 +0100
+++ cups-1.4rc1/scheduler/main.c 2009-08-19 14:49:01.817825841 +0100
@@ -1803,6 +1803,13 @@ process_children(void)
cupsdContinueJob(job);
}
}
+ else if (job->state_value == IPP_JOB_CANCELED)
+ {
+ for (i = 0; job->filters[i] < 0; i++);
+
+ if (!job->filters[i] && job->backend < 0)
+ cupsArrayRemove(ActiveJobs, job);
+ }
}
}

View File

@ -67,6 +67,7 @@ Patch39: cups-str3284.patch
Patch40: cups-str3285.patch
Patch41: cups-str3279.patch
Patch42: cups-str3287.patch
Patch43: cups-str3292.patch
Patch100: cups-lspp.patch
Epoch: 1
Url: http://www.cups.org/
@ -234,6 +235,7 @@ module.
%patch40 -p1 -b .str3285
%patch41 -p1 -b .str3279
%patch42 -p1 -b .str3287
%patch43 -p1 -b .str3292
%if %lspp
%patch100 -p1 -b .lspp
@ -529,6 +531,8 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Tue Aug 18 2009 Tim Waugh <twaugh@redhat.com> 1:1.4-0.rc1.16
- Fixed JobKillDelay handling for cancelled jobs (bug #518026,
STR #3292).
- Use 'exec' to invoke ghostscript in the pstoraster filter. This
allows the SIGTERM signal to reach the correct process, as well as
conserving memory (part of bug #518026).