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