pa_mainloop should report POLLNVAL when that occurs with IO events
@tanuk
Submitted by Tanu Kaskinen Assigned to pul..@..op.org
Description
poll() may return POLLNVAL in revents, but pa_mainloop ignores that. According to "man poll", POLLNVAL signals an "invalid request: fd not open (output only)". I'm not sure how that should be interpreted: if we never call poll() on an fd that we have closed ourselves, is it guaranteed that POLLNVAL will never occur? If so, we could have an assertion for that in map_flags_from_libc(). Or probably not: pa_mainloop can also be used by clients, and they may not be as careful with their file descriptors.
As proposed by Arun, I think we should add PA_IO_EVENT_INVALID to pa_io_event_flags_t.
Discussion: http://lists.freedesktop.org/archives/pulseaudio-discuss/2011-December/012517.html