Subj : Re: Threading and Timeouts To : comp.programming.threads From : David Schwartz Date : Wed Jul 20 2005 05:55 pm "Giancarlo Niccolai" wrote in message news:dbmlgr$jn$1@newsread.albacom.net... > David Schwartz wrote: >>> If any of this weren't the case, then the POSIX specifications about >>> select() wouldn't be possibly fulfilled, as it explicitly says that >>> after >>> that select() declares a socket ready, it MUST NOT BLOCK the very next >>> operation for which select() was queried . >> It does not say that anywhere. You are totally making that up. > EHHHH? > Here it is: A descriptor shall be considered ready for writing when a call > to an output function with O_NONBLOCK clear would not block, whether or > not > the function would transfer data successfully. > > If this doesn't mean what I said... well tell me what it means. It means that a function at that same instant would not block. It doesn't mean a future function will not block. POSIX went out of its way to ensure it never made any future guarantees because things can change. Notice it says "would not block". For example, if the docs for 'access' said it returns zero if a read "would not fail", does that mean a *future* read operation *will* not fail? Of course not. Because things can change. DS .