Patrick Powell wrote:

> > From [EMAIL PROTECTED] Tue Apr  2 01:53:54 2002
> > Date: Tue, 02 Apr 2002 10:50:07 +0200
> > From: Sergij Kovalenko <[EMAIL PROTECTED]>
> > To: [EMAIL PROTECTED]
> > Subject: Re: LPRng: Bug: blocking in queue whith filter producing no output
> >
> > Patrick Powell wrote:
> >
> > > > From [EMAIL PROTECTED] Wed Mar 20 05:59:18 2002
> > > > Date: Wed, 20 Mar 2002 14:00:27 +0100
> > > > From: Sergij Kovalenko <[EMAIL PROTECTED]>
> > > > To: [EMAIL PROTECTED]
> > > > Subject: LPRng: Bug: blocking in queue whith filter producing no output
> > > >
> > > > Hello Patrick,
> > > >
> > > > Text files are sent in a bounce queue in which they are processed using a 
>filter, then files are
> > > > sent in other queue.
> > > > If the filter in bounce queue produces no output, lpd  tries to send  this 
>printing job, which
> > > > includes zero length data file, to   the next queue. Transmition of zero 
>length data file causes
> > > > blocking of this queue.
> > > >
> > > > 2 functions are involved in this blocking: Link_send() and  Link_file_read() .
> > > >
> > > > Link_send()
> > > > 1. transmits 0 bytes with 'ack', it seems there no  actions in depth of TCP/IP.
> > > > 2. waits to read 'ack'.
> > > >
> > > > Link_file_read():
> > > >     1. waits to read 0 bytes.
> > > >
> > > >
> > > > Thanks,
> > > >
> > > > Sergiy Kovalenko
> > > > Firmengruppe Dr. Gueldener
> > >
> > > You are correct.  Now the problem is:
> > >
> > >  When a filter produces 0 bytes of output, is this an error?
> > >
> > >  OR is it correct operation and the job should be discarded?
> > >
> > >  OR just the file in the job should be discarded?
> > >
> > >   I suggest treating this as a catastrophic error and abort the job with
> > >   a fatal (JABORT) status.
> > >
> >
> > It would be better to treat operation as correct and just the file in the job 
>should be discarded. If
> > all files produces no output, is it correct operation and the job should be 
>discarded.
> > For example in some cases we have a job with 3 files, but only 1 file produces 
>output. Other files
> > are needed by filter to process the main file.
> > May be for other people it would be useful to treat the job as fatal. A 
>configuration flag for
> > queue/lpd could be used to distinguish different requirements.
> >
>
> Hmm...  this is a bit difficult to do,  especially if you have sent
> the control file to the other end.  Now you have some zero length files
> to send.  You cannot 'unsend' the control file and replace it.
> You CAN abort the sending of the job.
>
> I spent quite a while thinking about this,  and plan to
> implement the following:
>
> a) :lpd_bounce flag set
>     This causes all filter output to be concatenated to a single file.
>     If the output file is 0 length, terminate operation with
>     a JABORT.
>
> b) :lpd_bounce flag not set
>    Individual files are processed.  If any one of them is zero length,
>    terminate operation with a JABORT.
>
> This appears to be in agreement with your suggestions.

It is OK!

Best regards,

Sergiy Kovalenko
Firmengruppe Dr. Gueldener



-----------------------------------------------------------------------------
YOU MUST BE A LIST MEMBER IN ORDER TO POST TO THE LPRNG MAILING LIST
The address you post from MUST be your subscription address

If you need help, send email to [EMAIL PROTECTED] (or lprng-requests
or lprng-digest-requests) with the word 'help' in the body.  For the impatient,
to subscribe to a list with name LIST,  send mail to [EMAIL PROTECTED]
with:                           | example:
subscribe LIST <mailaddr>       |  subscribe lprng-digest [EMAIL PROTECTED]
unsubscribe LIST <mailaddr>     |  unsubscribe lprng [EMAIL PROTECTED]

If you have major problems,  send email to [EMAIL PROTECTED] with the word
LPRNGLIST in the SUBJECT line.
-----------------------------------------------------------------------------

Reply via email to