Hi, 2008/7/17 muppet <[EMAIL PROTECTED]>: > The trick in C code is to mark the file as non-blocking, and read chunks until > read returns 0 bytes. I can't take the time to experiment right now, but i'm > reasonably certain that this works in perl, as well.
Gah. I'm still thinking in Perl/Tk terms. I was trying to figure out why the filehandle wasn't being picked up as 'still readable' instead of looking for a lower level solution. I've been doing a lot of head slapping lately.... > Unless you're using datagram sockets, there is no guarantee that an entire > message showed up at once, so you always have to be able to handle partial > reads. Partial reads aren't a problem (the main program just buffers the data until it gets a whole message as long as the message so far is structurally valid) it was just that sometimes that 'too big' message wasn't followed by another message for a very long time, so the buffer was never getting flushed. If I use: use Fcntl; fcntl($FROM_CHILD, F_SETFL, fcntl($FROM_CHILD, F_GETFL, 0) | O_NONBLOCK); that should do the trick. Ta :) MB _______________________________________________ gtk-perl-list mailing list gtk-perl-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-perl-list