Skip to content

Commit

Permalink
Possible fix for a desync condition
Browse files Browse the repository at this point in the history
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3753 e03df62e-2008-0410-955e-edbf42e46eb7
  • Loading branch information
rburchell committed Mar 25, 2006
1 parent a4e29fc commit 272d401
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions src/users.cpp
Expand Up @@ -437,8 +437,18 @@ void DeleteOper(userrec* user)
void kill_link(userrec *user,const char* r)
{
user_hash::iterator iter = clientlist.find(user->nick);
if (iter == clientlist.end())
return;


/*
* I'm pretty sure returning here is causing a desync when part of the net thinks a user is gone,
* and another part doesn't. We want to broadcast the quit/kill before bailing so the net stays in sync.
*
* I can't imagine this blowing up, so I'm commenting it out. We still check
* before playing with a bad iterator below in our if(). DISCUSS THIS BEFORE YOU DO ANYTHING. --w00t
*
* if (iter == clientlist.end())
* return;
*/

char reason[MAXBUF];

Expand Down

0 comments on commit 272d401

Please sign in to comment.