diff options
| author | 2010-03-01 19:47:17 -0600 | |
|---|---|---|
| committer | 2010-08-03 17:32:38 -0400 | |
| commit | f0c05d3d1c37fd2f5cc8f21cb7dd1d6ecdf48f22 (patch) | |
| tree | 69262cebf6c11aa27fb79e15b615f8e844ad76d5 /src/socketengines/socketengine_ports.cpp | |
| parent | Compile fix (diff) | |
Don't send events for removed FDs when both read and write are ready
Diffstat (limited to 'src/socketengines/socketengine_ports.cpp')
| -rw-r--r-- | src/socketengines/socketengine_ports.cpp | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/src/socketengines/socketengine_ports.cpp b/src/socketengines/socketengine_ports.cpp index 23a3c3a45..5642a7223 100644 --- a/src/socketengines/socketengine_ports.cpp +++ b/src/socketengines/socketengine_ports.cpp @@ -14,18 +14,6 @@ #include "inspircd.h" #include "exitcodes.h" #include <port.h> -/* +------------------------------------+ - * | Inspire Internet Relay Chat Daemon | - * +------------------------------------+ - * - * InspIRCd: (C) 2002-2010 InspIRCd Development Team - * See: http://wiki.inspircd.org/Credits - * - * This program is free but copyrighted software; see - * the file COPYING for details. - * - * --------------------------------------------------- - */ #ifndef __SOCKETENGINE_PORTS__ #define __SOCKETENGINE_PORTS__ @@ -197,6 +185,8 @@ int PortsEngine::DispatchEvents() { ReadEvents++; eh->HandleEvent(EVENT_READ); + if (eh != ref[fd]) + continue; } if (events[i].portev_events & POLLWRNORM) { |
