summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-05-23 18:51:54 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-05-23 18:51:54 +0000
commit7cb5def29fe62fe106acca0e4498f28efa4e42ba (patch)
tree5ce249e153c90fa39b9dda7925bb35a15c13018a
parentbac7dea75b15323bb678ed56ca54606ee92c0afd (diff)
Fixed bug where when a server split all other servers would stop responding
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1479 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/commands.cpp1
-rw-r--r--src/inspircd.cpp5
2 files changed, 6 insertions, 0 deletions
diff --git a/src/commands.cpp b/src/commands.cpp
index 5466a6258..916c9bc10 100644
--- a/src/commands.cpp
+++ b/src/commands.cpp
@@ -2631,6 +2631,7 @@ void handle_amp(char token,char* params,serverrec* source,serverrec* reply, char
}
}
}
+ log(DEBUG,"Done with netsplit.");
}
unsigned long authcookie;
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index c0603db59..712e26f5e 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -2913,6 +2913,11 @@ int InspIRCd(char** argv, int argc)
strlcpy(tcp_msg,msg.c_str(),MAXBUF);
if (me[x])
handle_link_packet(tcp_msg, tcp_host, me[x], tcp_sum);
+ if (!me[x]->FindHost(tcp_host))
+ {
+ log(DEBUG,"Connector gone, bailing!");
+ goto label;
+ }
}
sums.clear(); // we're done, clear the list for the next operation
msgs.clear();