summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-06-02 22:53:48 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-06-02 22:53:48 +0000
commit7b1c15618bcb53e33bfd137a552e866642b684da (patch)
treebba84f9d8e155923d4ea67e52c2b43d9e86b3b88 /src/inspircd.cpp
parentcaecb37feacd10cad7faf28d406a49f919063be9 (diff)
More tweaks
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1595 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r--src/inspircd.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 1f45965fb..418b58c5e 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -1790,6 +1790,7 @@ void DoSplitEveryone()
}
}
has_been_netsplit = true;
+ log(DEBUG,"Clients removed.");
}
@@ -2387,6 +2388,7 @@ void DoSplit(const char* params)
}
}
has_been_netsplit = true;
+ log(DEBUG,"Removed clients (DoSplit)");
}
// removes a server. Will NOT remove its users!
@@ -2994,9 +2996,15 @@ int InspIRCd(char** argv, int argc)
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);