Skip to content

Commit fd1e316

Browse files
committed
adjusted delete logic
1 parent 06fd45d commit fd1e316

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

code/core/OS/Net/drivers/TCPDriver.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,12 @@ namespace OS {
4141
iterator.Iterate(LLIterator_TickOrDeleteClient, this);
4242
}
4343
bool TCPDriver::LLIterator_TickOrDeleteClient(INetPeer* peer, TCPDriver* driver) {
44+
int ref = peer->GetRefCount();
45+
if(ref == 0) { //may not yet be deleted
46+
return true;
47+
}
4448
if (peer->ShouldDelete()) {
45-
if (peer->GetRefCount() == 1) { //only 1 reference (the drivers reference)
49+
if (ref == 1) { //only 1 reference (the drivers reference)
4650
driver->mp_peers->RemoveFromList(peer);
4751
peer->DecRef();
4852
peer->CloseSocket(); //this will delete itself

0 commit comments

Comments
 (0)