[vlc-devel] commit: Revert "poll(): ifndef HAVE_POLL means we don't use poll(), not that it doesn't exist. In OSX poll() is broken for sockets, so we don' t use it. Since poll is a kernel function in OSX however, the kernel implementation was used whenever we used poll(), instead of VLCs private poll() which was the intended behaviour. Renamed poll() to vlc_poll() to prevent this." (Derk-Jan Hartman )

Rémi Denis-Courmont rdenis at simphalempin.com
Thu Aug 7 17:41:22 CEST 2008

Le jeudi 7 août 2008 02:16:13 Pierre d'Herbemont, vous avez écrit :
> What is the justification of this?
> Poll is indeed broken on OS X.

The inconsistent use of POLLHUP or POLLIN at end-of-stream comes from 
different intrepretations of the POSIX standard. In any case, UDP has no 
end-of-stream, so it does not matter for SAP. On top of that, VLC is proof 
against mixing POLLHUP and POLLIN.

If someone still wants to use sucky select() isntead of poll() for some sucky 
platform[1], I do not care so long as they do not introduce security holes, 
which the hereby reverted commit did.

[1] For the reference, even Windows has poll nowadays (though not in VLC).

Rémi Denis-Courmont

More information about the vlc-devel mailing list