* status for us and saves us a call.
*/
struct epoll_event ev;
- ev.events = EPOLLOUT | EPOLLONESHOT;
+ ev.events = EPOLLOUT;
ev.data.fd = eh->GetFd();
int i = epoll_ctl(EngineHandle, EPOLL_CTL_MOD, eh->GetFd(), &ev);
if (i < 0)
ServerInstance->Log(DEBUG,"Handle %s event on fd %d",events[j].events & EPOLLOUT ? "write" : "read", events[j].data.fd);
if (events[j].events & EPOLLHUP)
{
+ ServerInstance->Log(DEBUG,"Handle error event on fd %d", events[j].data.fd);
ref[events[j].data.fd]->HandleEvent(EVENT_ERROR, 0);
continue;
}
/* Get error number */
if (getsockopt(events[j].data.fd, SOL_SOCKET, SO_ERROR, &errcode, &codesize) < 0)
errcode = errno;
+ ServerInstance->Log(DEBUG,"Handle error event on fd %d: %s", events[j].data.fd, strerror(errcode));
ref[events[j].data.fd]->HandleEvent(EVENT_ERROR, errcode);
continue;
}