… | |
… | |
233 | anfds [fd].emask = 0; |
233 | anfds [fd].emask = 0; |
234 | } |
234 | } |
235 | } |
235 | } |
236 | } |
236 | } |
237 | |
237 | |
238 | int inline_size |
238 | inline_size |
|
|
239 | int |
239 | epoll_init (EV_P_ int flags) |
240 | epoll_init (EV_P_ int flags) |
240 | { |
241 | { |
241 | #ifdef EPOLL_CLOEXEC |
242 | #ifdef EPOLL_CLOEXEC |
242 | backend_fd = epoll_create1 (EPOLL_CLOEXEC); |
243 | backend_fd = epoll_create1 (EPOLL_CLOEXEC); |
243 | |
244 | |
… | |
… | |
258 | epoll_events = (struct epoll_event *)ev_malloc (sizeof (struct epoll_event) * epoll_eventmax); |
259 | epoll_events = (struct epoll_event *)ev_malloc (sizeof (struct epoll_event) * epoll_eventmax); |
259 | |
260 | |
260 | return EVBACKEND_EPOLL; |
261 | return EVBACKEND_EPOLL; |
261 | } |
262 | } |
262 | |
263 | |
263 | void inline_size |
264 | inline_size |
|
|
265 | void |
264 | epoll_destroy (EV_P) |
266 | epoll_destroy (EV_P) |
265 | { |
267 | { |
266 | ev_free (epoll_events); |
268 | ev_free (epoll_events); |
267 | array_free (epoll_eperm, EMPTY); |
269 | array_free (epoll_eperm, EMPTY); |
268 | } |
270 | } |
269 | |
271 | |
270 | void inline_size |
272 | inline_size |
|
|
273 | void |
271 | epoll_fork (EV_P) |
274 | epoll_fork (EV_P) |
272 | { |
275 | { |
273 | close (backend_fd); |
276 | close (backend_fd); |
274 | |
277 | |
275 | while ((backend_fd = epoll_create (256)) < 0) |
278 | while ((backend_fd = epoll_create (256)) < 0) |