> host1: cat /tmp/getstuff
> #!/usr/bin/perl
>  
> print STDERR "starting\n";
> read STDIN, $magic, 80;
> print STDERR "done\n";
> exit 0

OK, I've been looking into this in a bit more detail, using the above
program as the :if filter.

I've traced through this with gdb and it hangs in Read_fd_len_timeout
(line 219 in utilities.c), which is called by this line in printjob.c
(line 987):

count = Read_fd_len_timeout( left, of_error, msg+msglen, msgmax-msglen
);

The first time it encounters this line it successfully reads
"starting\n" from the filter.  However, the second time, the read call
in Read_fd_len_timeout just hangs:

(gdb) s
Read_fd_len_timeout (timeout=6000, fd=7, msg=0xbfffb9a0 "", len=511)
    at ./common/utilities.c:222
222             if( timeout > 0 ){
(gdb) n
223                     if( Set_timeout() ){
(gdb) n
224                             Set_timeout_alarm( timeout  );
(gdb) n
225                             i = read( fd, msg, len );
(gdb) p fd
$10 = 7
(gdb)  p msg
$11 = 0xbfffb9a0 ""
(gdb) p len
$12 = 511
(gdb) s

Any ideas as to why this could be happening?  Is there any more
debugging information that would be useful?

Thanks
Toby

-----------------------------------------------------------------------------
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