return false;
if (ref[fd])
- {
- ServerInstance->Log(DEBUG,"Ref occupied!");
return false;
- }
struct epoll_event ev;
memset(&ev,0,sizeof(struct epoll_event));
if ((fd < 0) || (fd > MAX_DESCRIPTORS))
return false;
- ref[fd] = NULL;
- CurrentSetSize--;
-
struct epoll_event ev;
memset(&ev,0,sizeof(struct epoll_event));
eh->Readable() ? ev.events = EPOLLIN : ev.events = EPOLLOUT;
int i = epoll_ctl(EngineHandle, EPOLL_CTL_DEL, fd, &ev);
if (i < 0 && !force)
+ {
+ ServerInstance->Log(DEBUG,"Cant remove socket: %s", strerror(errno));
return false;
+ }
+
+ ref[fd] = NULL;
+ CurrentSetSize--;
ServerInstance->Log(DEBUG,"Remove file descriptor: %d", fd);
return true;