From eb0eb3e60f26f85152e6ccfb7c58fdb329fc3632fafff0fa2880873bf106346e Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Tue, 3 Jun 2014 15:41:13 +0000 Subject: [PATCH] . OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=655 --- ...ev-always-close-lock-file-descriptor.patch | 31 +++++++------------ 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/1024-udev-always-close-lock-file-descriptor.patch b/1024-udev-always-close-lock-file-descriptor.patch index aea66faf..aaa4b296 100644 --- a/1024-udev-always-close-lock-file-descriptor.patch +++ b/1024-udev-always-close-lock-file-descriptor.patch @@ -5,14 +5,12 @@ Subject: [PATCH] udev: always close lock file descriptor https://bugs.freedesktop.org/show_bug.cgi?id=79576 --- - src/udev/udevd.c | 10 ++++------ - 1 file changed, 4 insertions(+), 6 deletions(-) + src/udev/udevd.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) -diff --git src/udev/udevd.c src/udev/udevd.c -index 1c9488e..819ea3b 100644 --- src/udev/udevd.c -+++ src/udev/udevd.c -@@ -301,6 +301,7 @@ static void worker_new(struct event *event) ++++ src/udev/udevd.c 2014-06-03 15:34:42.778346368 +0000 +@@ -301,6 +301,7 @@ static void worker_new(struct event *eve if (fd_lock >= 0 && flock(fd_lock, LOCK_SH|LOCK_NB) < 0) { log_debug("Unable to flock(%s), skipping event handling: %m", udev_device_get_devnode(d)); err = -EWOULDBLOCK; @@ -20,29 +18,24 @@ index 1c9488e..819ea3b 100644 goto skip; } } -@@ -317,8 +318,7 @@ static void worker_new(struct event *event) - udev_device_update_db(dev); +@@ -318,7 +319,7 @@ static void worker_new(struct event *eve } -- if (fd_lock >= 0) + if (fd_lock >= 0) - close(fd_lock); -+ close_nointr_nofail(fd_lock); ++ close_nointr_nofail(fd_lock); /* send processed event back to libudev listeners */ udev_monitor_send_device(worker_monitor, NULL, dev); -@@ -377,10 +377,8 @@ skip: - } +@@ -378,9 +379,9 @@ skip: out: udev_device_unref(dev); -- if (fd_signal >= 0) + if (fd_signal >= 0) - close(fd_signal); -- if (fd_ep >= 0) ++ close_nointr_nofail(fd_signal); + if (fd_ep >= 0) - close(fd_ep); -+ close_nointr_nofail(fd_signal); -+ close_nointr_nofail(fd_ep); ++ close_nointr_nofail(fd_ep); close(fd_inotify); close(worker_watch[WRITE_END]); udev_rules_unref(rules); --- -1.7.9.2 -