🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.lang.postscript
4 messages
4 total messages Started by Justin Ridge Tue, 05 Jan 1993 06:00
Cancelling jobs being processed (Q)
#6566
Author: Justin Ridge
Date: Tue, 05 Jan 1993 06:00
12 lines
827 bytes
Hi... a question for anyone:
Is it possible to cancel a job which is being processed in a PS printer -
specifically, in a Apple LaserWriter IINT/NTX/f/g?
That is, send a command to the printer which will remove the job that
the printer is presently working on, when:
a) the job is in the process of being downloaded
or
b) when it has been downloaded and is being drawn by the LW.

Thanks for any advice,
Regards,
Justin Ridge.
Re: Cancelling jobs being processed (Q)
#6579
Author: M.C.Wheadon
Date: Wed, 06 Jan 1993 11:20
20 lines
1120 bytes
In article <justin.726213640@tasman> justin@tasman.cc.utas.edu.au (Justin Ridge) writes:
>Is it possible to cancel a job which is being processed in a PS printer -
>specifically, in a Apple LaserWriter IINT/NTX/f/g?
>That is, send a command to the printer which will remove the job that
>the printer is presently working on, when:
>a) the job is in the process of being downloaded
>or
>b) when it has been downloaded and is being drawn by the LW.

Yes - send a control C to abort the job.  The LaserWriter will then
say:

	^C
	%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%

so you will then need to send a control D.

Cheers,

bUrt
Re: Cancelling jobs being processed (Q)
#6601
Author: Stephen Zisk
Date: Wed, 06 Jan 1993 15:03
39 lines
2682 bytes
In article <justin.726213640@tasman>, justin@tasman.cc.utas.edu.au
(Justin Ridge) wrote:
> Is it possible to cancel a job which is being processed in a PS
> printer - specifically, in a Apple LaserWriter IINT/NTX/f/g?

For any PostScript printer data stream there is an "interrupt" command.
On serial and parallel streams, emit a ^C character. On Appletalk, I
do not know the command, but you could look it up in Inside Appletalk.
The effect of the command depends on the state of the printer job.

If the printer has already received and acknowledged the end-of-job,
the interrupt will not typically work, but will be interpreted as if
it was part of the next job. This means, for instance, that a job
which sets /#copies to 1000, does some simple drawing and a showpage,
then ends, cannot usually be interrupted once the end-of-job has been
processed. I say "usually" and "typically" because this behavior is not
well defined in the Red Book, and various clone implementations may
behave differently. (This is not meant as a slam against clones, just
an observation that they may choose to do things differently).

If the cancel was received before end-of-job, the behavior is much
more complex. Typically, it will be processed when the interpreter
next looks for input. This may occur ahead of characters received
earlier, due to buffer scanning. The interrupt will generate a
PostScript interrupt error, causing execution of the interrupt procedure
in errordict. This will typically cause an error message to be printed
and the rest of the job to be flushed.

If the printer has multiple pages in process or a sofware page pipeline,
some arbitrary number of pages may be printed after the interrupt.
Additionally, if the job has issued a read command against the input,
has set up an appropriate stopped contex, or has redefined the interrupt
procedure, it may be resistant to interrupts.

Stephen Zisk (zisk@adobe.com)  Disclaimer: These are my personal views
Adobe Systems Incorporated     and do not represent the position of
Eastern Regional Office        Adobe Systems Incorporated.
24 New England Exec. Park
Burlington, MA 01803           They pay me but they don't muzzle me!
Re: Cancelling jobs being processed (Q)
#6602
Author: Joel Sacks
Date: Wed, 06 Jan 1993 16:05
38 lines
2790 bytes
In article <1993Jan6.150357.22690@adobe.com> zisk@adobe.com (Stephen Zisk) writes:

   In article <justin.726213640@tasman>, justin@tasman.cc.utas.edu.au
   (Justin Ridge) wrote:
   > Is it possible to cancel a job which is being processed in a PS
   > printer - specifically, in a Apple LaserWriter IINT/NTX/f/g?

   For any PostScript printer data stream there is an "interrupt" command.
   On serial and parallel streams, emit a ^C character. On Appletalk, I
   do not know the command, but you could look it up in Inside Appletalk.
   The effect of the command depends on the state of the printer job.

Actually, there is unfortunately no such command on AppleTalk.  The protocol
you talk to the printer with (PAP, Printer Access Protocol) does not have a
Cancel notion.  The "Cancel" button on your Macintosh only stops the flow of
data to the printer.  This usually works if you interrupt a job before it's
gotten too far along, because the printer will go to read data and get EOF
instead.  The EOF can be in the middle of an image, in the middle of an
operator name, or wherever, but will generally cause some sort of error, and
the job will abort.  You'll never see the error, because the Macintosh will
have already closed the connection and won't be listening for it.

However, back to your real question, how to stop the interpreter on a
LaserWriter.  Even though you can't generate the interrupt over the
communication channel itself (in the AppleTalk case), if you have physical
access you can interrupt the job by changing the switch position for a few
seconds, and then changing it back.  This can have anti-social consequences,
if you switch the printer from LocalTalk to serial mode, say, because running
serial line levels on a LocalTalk wire will freeze the network.  It's probably
safest to disconnect the communication channels before fussing with the
switch.

Finally, even using the switch may not be enough, because as mentioned
earlier, the printer may have some pages queued up via copypage, and the
interrupt will not do anything to them.
--
Joel Sacks				sacks@mv.us.adobe.com
Adobe Systems Inc.			...!decwrl!adobe!sacks
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads