David,
Please post a link to a manpage or other documentation that justifies your
description of select.
Your stat analogy is incomplete; stat returns the true file size, in the
absence of other external factors, such as another process (or thread)
doing something. Select makes the same guarantee, under the same
circumstances. Note that select predates threads.
Your idea that the semantics of TCP might change, invalidating current
implementations, is also not valid -- no fair to conjecture about
implementations not written for protocols not specified.
Nevertheless, from the beginning, there are various buggy implementations
-- primarily because of non-BSD implementations (can you spell STREAMS?
:), so therefore it's always safest to use non-blocking and check for
EWOULDBLOCK. Note that setting non-blocking itself is a portability
hassle.
/r$
--
SOA Appliances
Application Integration Middleware
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [email protected]
Automated List Manager [EMAIL PROTECTED]