diff -U2 -r /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd/Streaming.cpp /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd/Streaming.cpp --- /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd/Streaming.cpp 2026-08-17 00:46:52.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd/Streaming.cpp 2026-08-17 00:39:54.000000000 +0000 @@ -2163,5 +2163,5 @@ m_PendingIncomingStreams.clear (); { - std::lock_guard l(m_StreamsMutex); + std::unique_lock l(m_StreamsMutex); for (auto it: m_Streams) it.second->Terminate (false); // we delete here @@ -2327,5 +2327,5 @@ { auto s = std::make_shared (m_Owner->GetService (), *this, remote, port); - std::lock_guard l(m_StreamsMutex); + std::unique_lock l(m_StreamsMutex); m_Streams.emplace (s->GetRecvStreamID (), s); return s; @@ -2341,5 +2341,5 @@ { auto s = std::make_shared (m_Owner->GetService (), *this); - std::lock_guard l(m_StreamsMutex); + std::unique_lock l(m_StreamsMutex); m_Streams.emplace (s->GetRecvStreamID (), s); m_IncomingStreams.emplace (receiveStreamID, s); @@ -2351,5 +2351,5 @@ if (stream) { - std::lock_guard l(m_StreamsMutex); + std::unique_lock l(m_StreamsMutex); m_Streams.erase (stream->GetRecvStreamID ()); if (stream->IsIncoming ())