Re: What should poll() return when a device is unregistered ? (was"media: Media device node support")

From: Andy Walls
Date: Mon Nov 22 2010 - 07:51:17 EST


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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/