From db2b48d2afbf51bdd798c6dd9a11d0e6d2e47d13 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Wed, 3 Apr 2019 16:18:35 -0400
Subject: [PATCH] dhtrunner: select on maxfd+1

---
 src/dhtrunner.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/dhtrunner.cpp b/src/dhtrunner.cpp
index 659cb9f9..8d24555a 100644
--- a/src/dhtrunner.cpp
+++ b/src/dhtrunner.cpp
@@ -569,7 +569,8 @@ DhtRunner::startNetwork(const SockAddr sin4, const SockAddr sin6)
                 if(s6 >= 0)
                     FD_SET(s6, &readfds);
 
-                int rc = select(s4 > s6 ? s4 + 1 : s6 + 1, &readfds, nullptr, nullptr, nullptr);
+                int selectFd = std::max({s4, s6, stop_readfd}) + 1;
+                int rc = select(selectFd, &readfds, nullptr, nullptr, nullptr);
                 if(rc < 0) {
                     if(errno != EINTR) {
                         perror("select");
-- 
GitLab