We need to detach on all errors or the Peer structure will stay in memory

forever.
This commit is contained in:
JoelKatz
2012-01-19 18:43:51 -08:00
parent 78ad27e6aa
commit 82375c30b4

View File

@@ -32,6 +32,13 @@ void Peer::handle_write(const boost::system::error_code& error, size_t bytes_tra
#endif
mSendingPacket=PackedMessage::pointer();
if(error)
{
detach();
return;
}
if(!mSendQ.empty())
{
PackedMessage::pointer packet=mSendQ.front();
@@ -45,6 +52,7 @@ void Peer::handle_write(const boost::system::error_code& error, size_t bytes_tra
void Peer::detach()
{
mSendQ.erase();
mSocket.close();
if(!!mHanko) theApp->getConnectionPool().delFromMap(mHanko);
}