| From e7cd53f60cc2cb5e98efa0e88cfd0e7dd8325085 Mon Sep 17 00:00:00 2001 |
| From: Nir Soffer <nirsof@gmail.com> |
| 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 |
| |
| |
| @@ -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; |