Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re^4: Problem with IO::Select

by timos (Beadle)
on Mar 01, 2007 at 00:46 UTC ( [id://602628]=note: print w/replies, xml ) Need Help??

in reply to Re^3: Problem with IO::Select
in thread Problem with IO::Select

Ah, ok. So I changed it to
my $rx_txt = "something"; while (length($rx_txt) > 0) { $conn->recv($rx_txt, 1024); $buff.=$rx_txt; }
But the problem stays the same.

Replies are listed 'Best First'.
Re^5: Problem with IO::Select
by Thelonius (Priest) on Mar 01, 2007 at 01:07 UTC
    You probably meant to write:
    while ($rh->recv($rx_txt, 1024) > 0) { $buff .= $rx_txt; }
    But that's not good code when using 'select'. That's only okay if you're only handling one connection at a time. If you're only handling one connection at a time, don't use select.

    Also, I hope you know that adding a file handle for "~/.somefile" only makes sense if it's a fifo (named pipe).

    There are actually a lot of problems with your code. You should probably look at something somebody else has written. I recommend The Perl Cookbook, although there are a lot of free examples scattered about the internet.

Re^5: Problem with IO::Select (won't block)
by tye (Sage) on Mar 01, 2007 at 01:26 UTC

    "can_read" really means "trying to read won't block", which means that end-of-file will cause can_read to keep returning "true" forever. That might be your problem.

    You need to detect end-of-file and then (probably) close the socket and stop asking if you can read from it.

    - tye        

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://602628]
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (5)
As of 2024-06-21 21:39 GMT
Find Nodes?
    Voting Booth?

    No recent polls found

    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.