xf86-video-intel: src/sna/sna_driver.c

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Feb 20 21:17:03 UTC 2019


 src/sna/sna_driver.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

New commits:
commit 3a2dec17459dea56331430c8481646d538278518
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Wed Feb 20 21:13:56 2019 +0000

    sna: Repeat udev_monitor_get_device() if interrupted
    
    In case udev_monitor_get_device() itself does not handle being
    interrupted, go around the loop again. Daniel Vetter discovered this
    interesting quirk during igt testing of kms_leases.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
index bb0c5fcf..754b2d4f 100644
--- a/src/sna/sna_driver.c
+++ b/src/sna/sna_driver.c
@@ -802,9 +802,14 @@ sna_handle_uevents(int fd, void *closure)
 		struct udev_device *dev;
 		dev_t devnum;
 
+		errno = 0;
 		dev = udev_monitor_receive_device(sna->uevent_monitor);
-		if (dev == NULL)
+		if (dev == NULL) {
+			if (errno == EINTR || errno == EAGAIN)
+				continue;
+
 			break;
+		}
 
 		devnum = udev_device_get_devnum(dev);
 		if (memcmp(&s.st_rdev, &devnum, sizeof(dev_t)) == 0) {


More information about the xorg-commit mailing list