From b918499f149e9f7612ef6bac480ab25eb1051b52 Mon Sep 17 00:00:00 2001 From: orignal Date: Fri, 10 Jun 2022 12:50:55 -0400 Subject: [PATCH] correct SSU2 server termination --- libi2pd/SSU2.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libi2pd/SSU2.cpp b/libi2pd/SSU2.cpp index cfb9f1bc..f83883f8 100644 --- a/libi2pd/SSU2.cpp +++ b/libi2pd/SSU2.cpp @@ -82,12 +82,20 @@ namespace transport void SSU2Server::Stop () { + for (auto& it: m_Sessions) + it.second->Done (); + m_Sessions.clear (); + m_SessionsByRouterHash.clear (); + m_PendingOutgoingSessions.clear (); + if (context.SupportsV4 () || context.SupportsV6 ()) m_ReceiveService.Stop (); + m_SocketV4.close (); + m_SocketV6.close (); if (IsRunning ()) m_TerminationTimer.cancel (); - + StopIOService (); }