diff options
-rw-r--r-- | config/udev.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/config/udev.c b/config/udev.c index 23b795f64..932f230c7 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 |