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 |
|