xserver: Branch 'master'

Peter Hutterer whot at kemper.freedesktop.org
Tue Aug 16 08:01:56 UTC 2016


 config/udev.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit bf2ca502b9cd07044cba56499d5c092deb9d73f5
Author: Keith Packard <keithp at keithp.com>
Date:   Mon Aug 15 22:25:56 2016 -0700

    config: Hold input lock across udev socket handling
    
    This avoids having the server running inside libudev from two threads
    at once, which it appears to not like.
    
    Signed-off-by: Keith Packard <keithp at keithp.com>
    Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/config/udev.c b/config/udev.c
index 23b795f..932f230 100644
--- a/config/udev.c
+++ b/config/udev.c
@@ -345,9 +345,12 @@ socket_handler(int fd, int ready, void *data)
     struct udev_device *udev_device;
     const char *action;
 
+    input_lock();
     udev_device = udev_monitor_receive_device(udev_monitor);
-    if (!udev_device)
+    if (!udev_device) {
+        input_unlock();
         return;
+    }
     action = udev_device_get_action(udev_device);
     if (action) {
         if (!strcmp(action, "add")) {
@@ -364,6 +367,7 @@ socket_handler(int fd, int ready, void *data)
             device_removed(udev_device);
     }
     udev_device_unref(udev_device);
+    input_unlock();
 }
 
 int


More information about the xorg-commit mailing list