release requested piece if connection got closed

This commit is contained in:
orignal
2026-08-09 11:27:27 -04:00
parent 71cec86bf7
commit ab03c745a8
+6
View File
@@ -524,6 +524,12 @@ namespace torrents
void PeerConnection::Terminate ()
{
if (Kill()) return;
if (m_Torrent && m_LastRequestedPieceIndex >= 0) // pending requests by us
{
auto& piece = m_Torrent->GetPiece (m_LastRequestedPieceIndex);
if (piece.IsRequested ())
piece.Reset (); // piece can be requested by other connections
}
if (m_Stream)
{
m_Stream->Close ();