Description of problem: According to the comments in serial.c: /* * Now that we are "connected" to the port, ignore SIGTERM so that we * can finish out any page data the driver sends (e.g. to eject the * current page... Only ignore SIGTERM if we are printing data from * stdin (otherwise you can't cancel raw jobs...) */ However, the code after that comment is: if (print_fd != 0) { #ifdef HAVE_SIGSET /* Use System V signals over POSIX to avoid bugs */ sigset(SIGTERM, SIG_IGN); #elif defined(HAVE_SIGACTION) memset(&action, 0, sizeof(action)); sigemptyset(&action.sa_mask); action.sa_handler = SIG_IGN; sigaction(SIGTERM, &action, NULL); #else signal(SIGTERM, SIG_IGN); #endif /* HAVE_SIGSET */ } Version-Release number of selected component (if applicable): cups-1_3_7-18_el5_5_4 How reproducible: 100% Steps to Reproduce: 1. Define a raw print queue with a serial back end. 2. Submit a print job (lp -d <printer> <file>). 3. Cancel the print job (cacel <job-id>). Actual results: Print job does not cancel Expected results: Print job should cancel. Additional info: See upstream STR #3469. Patch is on it's way...
Created attachment 440069 [details] Proposed patch
Oops. Messed up the STR#. Sorry.
Created attachment 440070 [details] Proposed patch with corrected filename
This request was evaluated by Red Hat Product Management for inclusion in the current release of Red Hat Enterprise Linux. Because the affected component is not scheduled to be updated in the current release, Red Hat is unfortunately unable to address this request at this time. Red Hat invites you to ask your support representative to propose this request, if appropriate and relevant, in the next release of Red Hat Enterprise Linux.
I wasn't able to reproduce the problem with cups-1.3.7-26.el5_6.1. My steps: # lpadmin -p serialraw -v serial:/dev/ttyS0?baud=115200 # accept serialraw # lp -d -oraw serialraw cupsd.conf request id is serialraw-10 (1 file(s)) # lpstat -W not-completed serialraw-10 root 3072 Wed 14 Sep 2011 06:11:08 PM CEST # cancel 10 # lpstat -W not-completed <no job> Any ideas what have I wrong? This is a virtual machine.
Do virtual machines have serial ports that always accept data or something like that?
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2012-0302.html