• Hans Verkuil's avatar
    media: v4l2-dev: add EPOLLPRI in v4l2_poll() when dev is unregistered · 5cb0a64e
    Hans Verkuil authored
    If the V4L2 device was unregistered, then add EPOLLPRI to
    the poll mask. Otherwise a select() that only waits for
    exceptions will not wake up. A select() that waits for
    read and/or write events *will* wake up on an EPOLLERR, but
    not (for some reason) if it just waits for exceptions.
    
    Strangly the epoll functionality will wakeup on EPOLLERR if
    you just wait for an exception, so in this respect select()
    and epoll differ.
    
    In the end it doesn't really matter, what matters is that
    polling file handles are woken up on device unregistration.
    
    It also improves the code a bit if vdev->fops->poll is NULL:
    this didn't check for device unregistration.
    Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
    5cb0a64e
v4l2-dev.c 34.5 KB