… | |
… | |
437 | break; |
437 | break; |
438 | } |
438 | } |
439 | else |
439 | else |
440 | break; /* no events from the kernel, we are done */ |
440 | break; /* no events from the kernel, we are done */ |
441 | |
441 | |
442 | timeout = 0; /* only wait in the first iteration */ |
442 | timeout = EV_TS_CONST (0.); /* only wait in the first iteration */ |
443 | } |
443 | } |
444 | } |
444 | } |
445 | |
445 | |
446 | inline_size |
446 | inline_size |
447 | int |
447 | int |
… | |
… | |
517 | backend = EVBACKEND_EPOLL; |
517 | backend = EVBACKEND_EPOLL; |
518 | backend_modify = epoll_modify; |
518 | backend_modify = epoll_modify; |
519 | backend_poll = epoll_poll; |
519 | backend_poll = epoll_poll; |
520 | } |
520 | } |
521 | |
521 | |
522 | timeout = 0; |
522 | timeout = EV_TS_CONST (0.); |
523 | /* it's easiest to handle this mess in another iteration */ |
523 | /* it's easiest to handle this mess in another iteration */ |
524 | return; |
524 | return; |
525 | } |
525 | } |
526 | else if (errno == EBADF) |
526 | else if (errno == EBADF) |
527 | { |
527 | { |
… | |
… | |
567 | { |
567 | { |
568 | epoll_destroy (EV_A); |
568 | epoll_destroy (EV_A); |
569 | return 0; |
569 | return 0; |
570 | } |
570 | } |
571 | |
571 | |
572 | ev_io_init (EV_A_ &linuxaio_epoll_w, linuxaio_epoll_cb, backend_fd, EV_READ); |
572 | ev_io_init (&linuxaio_epoll_w, linuxaio_epoll_cb, backend_fd, EV_READ); |
573 | ev_set_priority (&linuxaio_epoll_w, EV_MAXPRI); |
573 | ev_set_priority (&linuxaio_epoll_w, EV_MAXPRI); |
574 | ev_io_start (EV_A_ &linuxaio_epoll_w); |
574 | ev_io_start (EV_A_ &linuxaio_epoll_w); |
575 | ev_unref (EV_A); /* watcher should not keep loop alive */ |
575 | ev_unref (EV_A); /* watcher should not keep loop alive */ |
576 | |
576 | |
577 | backend_modify = linuxaio_modify; |
577 | backend_modify = linuxaio_modify; |