111 for(int i=0;i<ret;i++) { |
111 for(int i=0;i<ret;i++) { |
112 event_t *event = events[i].data.ptr; |
112 event_t *event = events[i].data.ptr; |
113 if(event->fn) { |
113 if(event->fn) { |
114 if(!event->fn(ev, event)) { |
114 if(!event->fn(ev, event)) { |
115 // event fn returned 0 -> remove event from epoll |
115 // event fn returned 0 -> remove event from epoll |
116 if(epoll_ctl(ep, EPOLL_CTL_DEL, event->object, NULL) != 0){ |
116 if(epoll_ctl(ep, EPOLL_CTL_DEL, event->object, NULL)) { |
117 perror("epoll_ctl"); |
117 perror("epoll_ctl"); |
118 } |
118 } |
119 } |
119 } |
120 } |
120 } |
121 } |
121 } |