Lines Matching refs:epoll
41 EventEpoll *epoll = (EventEpoll *)loop;
42 LE_LOGV("Close_ epollFd %d", epoll->epollFd);
43 close(epoll->epollFd);
44 free(epoll);
51 EventEpoll *epoll = (EventEpoll *)loop;
57 if (IsValid_(epoll) && fd >= 0) {
58 ret = epoll_ctl(epoll->epollFd, EPOLL_CTL_ADD, fd, &event);
67 EventEpoll *epoll = (EventEpoll *)loop;
73 if (IsValid_(epoll) && fd >= 0) {
74 ret = epoll_ctl(epoll->epollFd, EPOLL_CTL_MOD, fd, &event);
83 EventEpoll *epoll = (EventEpoll *)loop;
88 if (IsValid_(epoll) && fd >= 0) {
89 ret = epoll_ctl(epoll->epollFd, EPOLL_CTL_DEL, fd, &event);
99 EventEpoll *epoll = (EventEpoll *)loop;
100 if (!IsValid_(epoll)) {
105 LE_RunIdle((LoopHandle)&(epoll->loop));
120 int number = epoll_wait(epoll->epollFd, epoll->waitEvents, loop->maxevents, timeout);
122 if ((epoll->waitEvents[index].events & EPOLLIN) == EPOLLIN) {
123 ProcessEvent(loop, epoll->waitEvents[index].data.fd, EVENT_READ);
125 if ((epoll->waitEvents[index].events & EPOLLOUT) == EPOLLOUT) {
126 ProcessEvent(loop, epoll->waitEvents[index].data.fd, EVENT_WRITE);
128 if (epoll->waitEvents[index].events & (EPOLLERR | EPOLLHUP)) {
129 LE_LOGV("RunLoop_ fd:%d, error:%d", epoll->waitEvents[index].data.fd, errno);
130 ProcessEvent(loop, epoll->waitEvents[index].data.fd, EVENT_ERROR);
148 EventEpoll *epoll = (EventEpoll *)malloc(sizeof(EventEpoll) + sizeof(struct epoll_event) * (maxevents));
149 LE_CHECK(epoll != NULL, return LE_FAILURE, "Failed to alloc memory for epoll");
150 epoll->epollFd = epoll_create(maxevents);
151 LE_CHECK(epoll->epollFd >= 0, free(epoll);
152 return LE_FAILURE, "Failed to create epoll");
154 *loop = (EventLoop *)epoll;
155 epoll->loop.maxevents = maxevents;
156 epoll->loop.timeout = timeout;
157 epoll->loop.close = Close_;
158 epoll->loop.runLoop = RunLoop_;
159 epoll->loop.delEvent = DelEvent_;
160 epoll->loop.addEvent = AddEvent_;
161 epoll->loop.modEvent = ModEvent_;