valeriyvdovin / rpms / systemd

Forked from rpms/systemd 4 years ago
Clone

Blame SOURCES/0140-udev-Fix-ping-timeout-when-settle-timeout-is-0.patch

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