}
}
has_been_netsplit = true;
+ log(DEBUG,"Clients removed.");
}
}
}
has_been_netsplit = true;
+ log(DEBUG,"Removed clients (DoSplit)");
}
// removes a server. Will NOT remove its users!
me[x]->FlushWriteBuffers();
sums.clear();
msgs.clear();
- while ((me[x]) && (me[x]->RecvPacket(msgs, tcp_host, sums))) // returns 0 or more lines (can be multiple lines!)
+ if (me[x])
+ has_been_netsplit = false;
+ while (me[x]->RecvPacket(msgs, tcp_host, sums)) // returns 0 or more lines (can be multiple lines!)
{
- has_been_netsplit = false;
+ if (has_been_netsplit)
+ {
+ log("Netsplit detected in recvpacket, aborting");
+ goto label;
+ }
for (unsigned int ctr = 0; ctr < msgs.size(); ctr++)
{
strlcpy(tcp_msg,msgs[ctr].c_str(),MAXBUF);