aboutsummaryrefslogtreecommitdiff
path: root/src/socketengines/socketengine_ports.cpp
diff options
context:
space:
mode:
authorGravatar danieldg2010-03-02 01:48:06 +0000
committerGravatar danieldg2010-03-02 01:48:06 +0000
commit5af0e15f15f0b09643dcdf6da3d9eb2349d16422 (patch)
treec714d992179e35a300cefd4f9fff8b3a352cc32e /src/socketengines/socketengine_ports.cpp
parentWhat, I have to make this compile now? (diff)
Don't send events for removed FDs when both read and write are ready
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12582 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/socketengines/socketengine_ports.cpp')
-rw-r--r--src/socketengines/socketengine_ports.cpp14
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)
{