Hello community, here is the log from the commit of package udev for openSUSE:12.1 checked in at 2011-11-08 20:12:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:12.1/udev (Old) and /work/SRC/openSUSE:12.1/.udev.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "udev", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:12.1/udev/udev.changes 2011-10-24 13:30:32.000000000 +0200 +++ /work/SRC/openSUSE:12.1/.udev.new/udev.changes 2011-11-08 20:13:22.000000000 +0100 @@ -1,0 +2,5 @@ +Tue Nov 8 15:27:02 UTC 2011 - [email protected] + +- Added upstream patch to avoid deadlocks, bnc#722858 + +------------------------------------------------------------------- New: ---- udev.git-7944a13a2b8516d5fa354703789f5988cb4299b6.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ udev.spec ++++++ --- /var/tmp/diff_new_pack.3kOznm/_old 2011-11-08 20:13:22.000000000 +0100 +++ /var/tmp/diff_new_pack.3kOznm/_new 2011-11-08 20:13:22.000000000 +0100 @@ -43,6 +43,8 @@ Source60: boot.udev #Patch from upstream to make bluetooth input devices working again. Patch1: udev.git-617746e09795575c6258dd075ee7f0a44ce61e1e.patch +#PATCH-FIX-UPSTREAM bnc#722858 +Patch2: udev.git-7944a13a2b8516d5fa354703789f5988cb4299b6.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -101,6 +103,7 @@ %prep %setup -q %patch1 -p1 +%patch2 -p1 %build # prevent man pages from re-building (xmlto) ++++++ udev.git-7944a13a2b8516d5fa354703789f5988cb4299b6.patch ++++++ commit 7944a13a2b8516d5fa354703789f5988cb4299b6 Author: Steve Langasek <[email protected]> Date: Sat Oct 8 02:14:09 2011 -0700 udevd: exit - process events before signals in worker When a worker receives both a signal and a udev event in the same epoll_wait run, the event must be processed first because the udev parent considers the event already dispatched. If we process the signal first and exit, udevd times out after 60 seconds waiting for a response from an already-dead worker. Ref: https://bugs.launchpad.net/bugs/818177 Signed-off-by: Steve Langasek <[email protected]> diff --git a/udev/udevd.c b/udev/udevd.c index 77aec9d..b65b53f 100644 --- a/udev/udevd.c +++ b/udev/udevd.c @@ -347,6 +347,7 @@ static void worker_new(struct event *event) for (i = 0; i < fdcount; i++) { if (ev[i].data.fd == fd_monitor && ev[i].events & EPOLLIN) { dev = udev_monitor_receive_device(worker_monitor); + break; } else if (ev[i].data.fd == fd_signal && ev[i].events & EPOLLIN) { struct signalfd_siginfo fdsi; ssize_t size; -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
