git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6764
e03df62e-2008-0410-955e-
edbf42e46eb7
{
case PORT_SOURCE_FD:
int fd = this->events[i].portev_object;
- ref[fd]->HandleEvent((this->events[i].portev_events & POLLRDNORM) ? EVENT_READ : EVENT_WRITE);
+ if (ref[fd])
+ {
+ // reinsert port for next time around
+ port_associate(EngineHandle, PORT_SOURCE_FD, fd, POLLRDNORM, ref[fd]);
+ ref[fd]->HandleEvent((this->events[i].portev_events & POLLRDNORM) ? EVENT_READ : EVENT_WRITE);
+ }
default:
break;
}