From e7cd53f60cc2cb5e98efa0e88cfd0e7dd8325085 Mon Sep 17 00:00:00 2001 From: Nir Soffer Date: Sun, 19 Apr 2015 02:49:47 +0300 Subject: [PATCH] udev: Fix ping timeout when settle timeout is 0 When running udevadm settle --timeout=0, the ping always times out, and udevadm will return 0 without checking the queue state. (David: Use a reasonable timeout to still get the barrier provided by ctrl-ping) Cherry-picked from: 7375b3c4871861f100860ea4c2848e66b60e6ca4 Resolves: #1210981 --- src/udev/udevadm-settle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/udev/udevadm-settle.c b/src/udev/udevadm-settle.c index 40e3e28b1..33597bc20 100644 --- a/src/udev/udevadm-settle.c +++ b/src/udev/udevadm-settle.c @@ -114,7 +114,7 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) { uctrl = udev_ctrl_new(udev); if (uctrl != NULL) { - if (udev_ctrl_send_ping(uctrl, timeout) < 0) { + if (udev_ctrl_send_ping(uctrl, MAX(5U, timeout)) < 0) { log_debug("no connection to daemon"); udev_ctrl_unref(uctrl); return EXIT_SUCCESS;