Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: IO::Socket should be readable, but isn't....

by chipmunk (Parson)
on Mar 03, 2002 at 21:09 UTC ( [id://149011]=note: print w/replies, xml ) Need Help??


in reply to IO::Socket should be readable, but isn't....

I'm not certain, but your problem may be related to this caveat from the documentation for select:
WARNING: One should not attempt to mix buffered I/O (like `read' or <FH>) with `select', except as permitted by POSIX, and even then only on POSIX systems. You have to use `sysread' instead.
This is because, although select will tell you that there is some input waiting on the filehandle, there may not be enough input available to fill the buffer used by read() or <FH>. If this happens, the read will block waiting for more input. Switching to sysread() may fix your script.
  • Comment on Re: IO::Socket should be readable, but isn't....

Replies are listed 'Best First'.
Re: Re: IO::Socket should be readable, but isn't....
by blogan (Monk) on Mar 03, 2002 at 23:00 UTC
    I knew I couldn't use it with read, but I thought I might be find with using select, because the way POP3 works is that the client or server will never send a partial line. I did use a version that worked using sysread(), the downside was that I want to be able to work with data 1 line at a time. I suppose I can use a system where I use sysread to fill a buffer and then use another function to extract a line from the buffer.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2024-12-12 17:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Which IDE have you been most impressed by?













    Results (65 votes). Check out past polls.