aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2019-09-12 11:27:47 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2019-09-12 12:10:50 +0000
commit1b91bebd2e9aff014c018496e7730de8feee1a80 (patch)
tree19965f8886a3a6c22dd92668047c2793ec4c65d3
parentMerge pull request #5876 (diff)
downloadmonero-1b91bebd2e9aff014c018496e7730de8feee1a80.tar.xz
abstract_tcp_server2: fix lingering connections
Resetting the timer after shutdown was initiated would keep a reference to the object inside ASIO, which would keep the connection alive until the timer timed out
-rw-r--r--contrib/epee/include/net/abstract_tcp_server2.inl5
1 files changed, 5 insertions, 0 deletions
diff --git a/contrib/epee/include/net/abstract_tcp_server2.inl b/contrib/epee/include/net/abstract_tcp_server2.inl
index 12a87071a..729951341 100644
--- a/contrib/epee/include/net/abstract_tcp_server2.inl
+++ b/contrib/epee/include/net/abstract_tcp_server2.inl
@@ -736,6 +736,11 @@ PRAGMA_WARNING_DISABLE_VS(4355)
MERROR("Resetting timer on a dead object");
return;
}
+ if (m_was_shutdown)
+ {
+ MERROR("Setting timer on a shut down object");
+ return;
+ }
if (add)
ms += m_timer.expires_from_now();
m_timer.expires_from_now(ms);