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