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 openssl-users@openssl.org Automated List Manager [EMAIL PROTECTED]