diff options
Diffstat (limited to 'src/users.cpp')
-rw-r--r-- | src/users.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/users.cpp b/src/users.cpp index 0d6b0d990..b568bac63 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -673,7 +673,10 @@ void userrec::FlushWriteBuf() this->ServerInstance->SE->WantWrite(this); } else - this->SetWriteError(strerror(errno)); + { + this->QuitUser(ServerInstance, this, strerror(errno)); + return; + } } else { @@ -786,9 +789,6 @@ void userrec::QuitUser(InspIRCd* Instance, userrec *user, const std::string &qui user->WriteCommonExcept("QUIT :%s",reason.c_str()); } - if (IS_LOCAL(user)) - user->FlushWriteBuf(); - FOREACH_MOD_I(Instance,I_OnUserDisconnect,OnUserDisconnect(user)); if (IS_LOCAL(user)) |