116 ebufpos += r; |
116 ebufpos += r; |
117 } |
117 } |
118 if(ebufpos == sizeof(Event*)) { |
118 if(ebufpos == sizeof(Event*)) { |
119 intptr_t *p = (intptr_t*)b; |
119 intptr_t *p = (intptr_t*)b; |
120 *(&event) = (Event*)*p; |
120 *(&event) = (Event*)*p; |
|
121 /* |
121 if(event->fn) { |
122 if(event->fn) { |
122 if(!event->fn(ev, event) && event->finish) { |
123 if(!event->fn(ev, event) && event->finish) { |
123 event->finish(ev, event); |
124 event->finish(ev, event); |
124 } |
125 } |
125 } |
126 }*/ |
126 } |
127 } else { |
127 } else if(event->fn) { |
128 continue; // should not happen |
|
129 } |
|
130 } |
|
131 |
|
132 if(event->fn) { |
128 int saved_ev = event->events; |
133 int saved_ev = event->events; |
129 if(!event->fn(ev, event)) { |
134 if(!event->fn(ev, event)) { |
130 // event fn returned 0 -> remove event from epoll |
135 // event fn returned 0 -> remove event from epoll |
131 if(epoll_ctl(ep, EPOLL_CTL_DEL, event->object, NULL)) { |
136 if(epoll_ctl(ep, EPOLL_CTL_DEL, event->object, NULL)) { |
132 event->error = 1; |
137 event->error = 1; |