diff --git a/plugins/linux-v4l2/v4l2-udev.c b/plugins/linux-v4l2/v4l2-udev.c index 67a50af86..4dbd692c6 100644 --- a/plugins/linux-v4l2/v4l2-udev.c +++ b/plugins/linux-v4l2/v4l2-udev.c @@ -133,12 +133,16 @@ static void *udev_event_thread(void *vptr) fds[0].fd = fd; fds[0].events = POLLIN; + fds[0].revents = 0; fds[1].fd = udev_event_fd; fds[1].events = POLLIN; if (poll(fds, 2, 1000) <= 0) continue; + if (!fds[0].revents & POLLIN) + continue; + dev = udev_monitor_receive_device(mon); if (!dev) continue;