File 0001-arping-Fix-1s-delay-on-exit-for-unsolicited-arpings.patch of Package iputils.38676

From 4db1de672559804bebcb7073d231924339ca8cd8 Mon Sep 17 00:00:00 2001
From: Petr Vorel <pvorel@suse.cz>
Date: Wed, 22 May 2024 07:05:14 +0200
Subject: [PATCH 1/2] arping: Fix 1s delay on exit for unsolicited arpings

Commit 67e070d introduced 1s poll() delay for unsolicited arpings,
when using -U or -A, e.g.:

    # arping -A -c1 -I eth0 [IP address of eth0 interface]
    # arping -U -c1 -I eth0 [IP address of eth0 interface]

Restore correct condition.

Fixes: 67e070d ("arping: use signalfd() and timerfd() rather than signals")
Fixes: https://github.com/iputils/iputils/issues/536
Fixes: bsc#1224877
Closes: https://github.com/iputils/iputils/pull/541
Reported-by: <Curtis Taylor cjebpub@gmail.com>
Suggested-by: <Curtis Taylor cjebpub@gmail.com>
Signed-off-by: Petr Vorel <pvorel@suse.cz>
[ upstream commit 4db1de672559804bebcb7073d231924339ca8cd8 ]
---
 arping.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arping.c b/arping.c
index 5df6d9f..7ad927e 100644
--- a/arping.c
+++ b/arping.c
@@ -775,7 +775,7 @@ static int event_loop(struct run_state *ctl)
 	pfds[POLLFD_SOCKET].events = POLLIN | POLLERR | POLLHUP;
 	send_pack(ctl);
 
-	while (!exit_loop) {
+	while (!(exit_loop || ctl->unsolicited)) {
 		int ret;
 		size_t i;
 
-- 
2.43.0

openSUSE Build Service is sponsored by