On Thu, Aug 30, 2018 at 9:08 AM Brian Wood <woodbrian77 at gmail.com> wrote: > The docs for select() says: > > Under Linux, select() may report a socket file descriptor as > "ready for reading", while nevertheless a subsequent read > blocks. This could for example happen when data has arrived > but upon examination has wrong checksum and is discarded. > There may be other circumstances in which a file descriptor is > spuriously reported as ready. Thus it may be safer to use > O_NONBLOCK on sockets that should not block. > > I was thinking that poll() is also similarly afflicted on Linux, but > the docs for poll() don't mention anything similar. Does anyone > know if poll() used to have the problem, but no longer does > or if it does, but the docs fail to mention it? > I was looking at docs in the "3P" section on poll() -- I guess the 'P' may stand for Posix. When I checked poll() in section 2, there's a note referring you to select() spurious bugs. So I believe this is still a problem for poll(). I have another program where I'm still using poll() so I guess I'll have to take some defensive measures related to this. Brian Ebenezer Enterprises http://webEbenezer.net -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mailman.mn-linux.org/pipermail/tclug-list/attachments/20180830/b7cdd6de/attachment-0001.html>