src/server/daemon/event_linux.c

changeset 161
aadda87bad1b
parent 152
8b85c5face66
child 162
b169992137a8
equal deleted inserted replaced
160:389bd0e1ffa9 161:aadda87bad1b
106 if(event->fn) { 106 if(event->fn) {
107 int saved_ev = event->poll; 107 int saved_ev = event->poll;
108 if(!event->fn(ev, event)) { 108 if(!event->fn(ev, event)) {
109 // event fn returned 0 -> remove event from epoll 109 // event fn returned 0 -> remove event from epoll
110 if(epoll_ctl(ep, EPOLL_CTL_DEL, event->object, NULL)) { 110 if(epoll_ctl(ep, EPOLL_CTL_DEL, event->object, NULL)) {
111 event->error = 1;
112 log_ereport( 111 log_ereport(
113 LOG_FAILURE, 112 LOG_FAILURE,
114 "epoll_ctl failed: fd: %d error: %s", 113 "epoll_ctl failed: %s",
115 event->object,
116 strerror(errno)); 114 strerror(errno));
117 } 115 }
118 116
119 // if set, execute event->finish 117 // if set, execute event->finish
120 if(event->finish) { 118 if(event->finish) {

mercurial