×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) midrange.com.




Hi Paul,

I've run into that, too.  I'm not sure what causes it, but I solved it by simply using non-blocking sockets.  If I get a EWOULDBLOCK/EAGAIN from recv(), I just call select() again.

-SK

On 11/19/2020 3:47 PM, Paul Nicolay wrote:
Hi,


I've written a sockets listener program that submits a server to handle the incoming clients (this is all based on the listen/accept, takedescriptor/givedescriptor logic).


While this goes fine, I do have a strange issue (when I do a test TELNET without entering anything) where the server program is doing its initial select() to see if data is available to be read. This select() function however immediately returns 1 (so the read flag is set and data should be available), but when doing the actual recv() it returns 0 (so there's no data) ?


Anyone an idea what might be wrong ? I would expect that the select() waits till the timeout expires and returns 0.


Kind regards,

Pauk

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.