[FFmpeg-devel] libossupport status
Mon Dec 24 23:23:40 CET 2007
On Monday 24 December 2007 15:52, Rich Felker wrote:
> On Sun, Dec 23, 2007 at 03:11:12PM -0500, Dave Dodge wrote:
> > This particular UDP case might have been fixed in the past few
> > years but I think it wasn't the only way select can end up
> > reporting that I/O is possible even when it isn't. The basic rule
> > of thumb on Linux is that if you don't want an I/O operation to
> > block you really need to put the descriptor into non-blocking mode
> > while doing the operation. You can't rely on select to guarantee
> > that the operation will not block.
> In other words the rule of thumb is that Linux is nonconformant by
> design and the developers refuse to treat this as a bug.
And they consider it conforming to standard...
But yeah, if you have blocking sockets your program /WILL/ end up
blocking sooner or later, in ways difficult to reproduce. If you don't
want it to block then you need to use nonblocking sockets, easy
workaround really, and you can even make it print out some "Broken OS!"
message if you received EAGAIN...
More information about the ffmpeg-devel