Messages in this thread | | | Subject | Re: What should poll() return when a device is unregistered ? (was "media: Media device node support") | From | Andy Walls <> | Date | Mon, 22 Nov 2010 07:51:37 -0500 |
| |
On Mon, 2010-11-22 at 12:36 +0100, Hans Verkuil wrote: > On Monday, November 22, 2010 11:41:27 Laurent Pinchart wrote: > > Hi Hans, > > > > On Monday 22 November 2010 10:08:06 Hans Verkuil wrote: > > > On Monday, November 22, 2010 00:35:54 Laurent Pinchart wrote: > > > > Hi Jonathan,
> > > This doesn't really seem to be standardized :-( > > > > CC'ing LKML with the question. > > > > POLLERR | POLLHUP and POLLERR won't make a difference to select(), but we > > should still standardize on a poll() return code when devices are unregistered > > and/or - for hot-pluggable devices - disconnected (for V4L devices > > unregistered usually means disconnected) ? > > Drivers return POLLERR, POLLERR|POLLHUP or POLLHUP in case of a disconnect. > I'm leaning towards POLLHUP as the most appropriate poll return value for a > USB disconnect.
+1 POLLHUP
http://www.opengroup.org/onlinepubs/009695399/functions/poll.html
"POLLHUP The device has been disconnected. [...]"
My $0.02 below: The communication link with the device is closed due to circumstances that the OS considers normal operation. The OS has, at some level, shut down its side of the communication link gracefully as well.
Just because the application or the OS cannot always predict when a USB disconnect may happen, doesn't mean it is an error.
Regards, Andy
| |