Blame nc6-1.0-afindep-close-the-accepted-socket-when-done.patch

Petr Šabata 27c09e2
From 9f043d704320942bfbc5cd7773e91a7beff5522b Mon Sep 17 00:00:00 2001
Petr Šabata 27c09e2
From: Aaron Lu <aaron.lu@intel.com>
Petr Šabata 27c09e2
Date: Fri, 7 Nov 2014 14:27:36 +0800
Petr Šabata 27c09e2
Subject: [PATCH] afindep: close the accepted socket when done
Petr Šabata 27c09e2
Petr Šabata 27c09e2
The accepted socket ns isn't closed when done and that caused the socket
Petr Šabata 27c09e2
to keep in the CLOSE_WAIT state until the program quits. But since nc6
Petr Šabata 27c09e2
is used to continuous accpet more connections and not quit with a
Petr Šabata 27c09e2
client, this would cause more and more sockets to stay in CLOSE_WAIT
Petr Šabata 27c09e2
state and eventually new connections will be refused.
Petr Šabata 27c09e2
Petr Šabata 27c09e2
Signed-off-by: Aaron Lu <aaron.lu@intel.com>
Petr Šabata 27c09e2
---
Petr Šabata 27c09e2
 src/afindep.c | 1 +
Petr Šabata 27c09e2
 1 file changed, 1 insertion(+)
Petr Šabata 27c09e2
Petr Šabata 27c09e2
diff --git a/src/afindep.c b/src/afindep.c
Petr Šabata 27c09e2
index 6645d6d..bf06e8b 100644
Petr Šabata 27c09e2
--- a/src/afindep.c
Petr Šabata 27c09e2
+++ b/src/afindep.c
Petr Šabata 27c09e2
@@ -548,6 +548,7 @@ int afindep_listener(const struct addrinfo *hints,
Petr Šabata 27c09e2
 			}
Petr Šabata 27c09e2
 
Petr Šabata 27c09e2
 			callback(ns, socktype, cdata);
Petr Šabata 27c09e2
+			close(ns);
Petr Šabata 27c09e2
 
Petr Šabata 27c09e2
 			if (max_accept > 0 && --max_accept == 0)
Petr Šabata 27c09e2
 				break;
Petr Šabata 27c09e2
-- 
Petr Šabata 27c09e2
1.9.3
Petr Šabata 27c09e2