summaryrefslogtreecommitdiff
path: root/udev/udevadm-settle.c
diff options
context:
space:
mode:
authorAlan Jenkins <alan-jenkins@tuffmail.co.uk>2009-05-20 16:12:22 +0200
committerKay Sievers <kay.sievers@vrfy.org>2009-05-20 16:12:22 +0200
commitf58a9099bb2b18f3f683615324a4382b95446305 (patch)
tree474bb567e1c44e46d08992d3e7591ef27db86fa4 /udev/udevadm-settle.c
parenta0ee5a05bb3a9a838c35e07ff7a0bb7bbd2d0c9b (diff)
udevadm: settle - fix timeout
The timeout wasn't working when settle was run as root: # udevadm control --stop-exec-queue # udevadm trigger # udevadm settle --timeout=1 ... (hangs) Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Diffstat (limited to 'udev/udevadm-settle.c')
-rw-r--r--udev/udevadm-settle.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/udev/udevadm-settle.c b/udev/udevadm-settle.c
index 3b26f10d50..52d9c0b244 100644
--- a/udev/udevadm-settle.c
+++ b/udev/udevadm-settle.c
@@ -167,6 +167,7 @@ int udevadm_settle(struct udev *udev, int argc, char *argv[])
sigprocmask(SIG_BLOCK, &mask, &oldmask);
if (udev_ctrl_send_settle(uctrl) > 0)
sigsuspend(&oldmask);
+ sigprocmask(SIG_SETMASK, &oldmask, NULL);
udev_ctrl_unref(uctrl);
}
}