… | |
… | |
3749 | { |
3749 | { |
3750 | assert (("libev: pipe_w not active, but pipe not written", ev_is_active (&pipe_w))); |
3750 | assert (("libev: pipe_w not active, but pipe not written", ev_is_active (&pipe_w))); |
3751 | ev_feed_event (EV_A_ &pipe_w, EV_CUSTOM); |
3751 | ev_feed_event (EV_A_ &pipe_w, EV_CUSTOM); |
3752 | } |
3752 | } |
3753 | |
3753 | |
3754 | |
|
|
3755 | /* update ev_rt_now, do magic */ |
3754 | /* update ev_rt_now, do magic */ |
3756 | time_update (EV_A_ waittime + sleeptime); |
3755 | time_update (EV_A_ waittime + sleeptime); |
3757 | } |
3756 | } |
3758 | |
3757 | |
3759 | /* queue pending timers and reschedule them */ |
3758 | /* queue pending timers and reschedule them */ |
… | |
… | |
3923 | return; |
3922 | return; |
3924 | |
3923 | |
3925 | assert (("libev: ev_io_start called with negative fd", fd >= 0)); |
3924 | assert (("libev: ev_io_start called with negative fd", fd >= 0)); |
3926 | assert (("libev: ev_io_start called with illegal event mask", !(w->events & ~(EV__IOFDSET | EV_READ | EV_WRITE)))); |
3925 | assert (("libev: ev_io_start called with illegal event mask", !(w->events & ~(EV__IOFDSET | EV_READ | EV_WRITE)))); |
3927 | |
3926 | |
|
|
3927 | #if EV_VERIFY >= 2 |
|
|
3928 | assert (("libev: ev_io_start called on watcher with invalid fd", fd_valid (fd))); |
|
|
3929 | #endif |
3928 | EV_FREQUENT_CHECK; |
3930 | EV_FREQUENT_CHECK; |
3929 | |
3931 | |
3930 | ev_start (EV_A_ (W)w, 1); |
3932 | ev_start (EV_A_ (W)w, 1); |
3931 | array_needsize (ANFD, anfds, anfdmax, fd + 1, array_needsize_zerofill); |
3933 | array_needsize (ANFD, anfds, anfdmax, fd + 1, array_needsize_zerofill); |
3932 | wlist_add (&anfds[fd].head, (WL)w); |
3934 | wlist_add (&anfds[fd].head, (WL)w); |
… | |
… | |
3948 | if (expect_false (!ev_is_active (w))) |
3950 | if (expect_false (!ev_is_active (w))) |
3949 | return; |
3951 | return; |
3950 | |
3952 | |
3951 | assert (("libev: ev_io_stop called with illegal fd (must stay constant after start!)", w->fd >= 0 && w->fd < anfdmax)); |
3953 | assert (("libev: ev_io_stop called with illegal fd (must stay constant after start!)", w->fd >= 0 && w->fd < anfdmax)); |
3952 | |
3954 | |
|
|
3955 | #if EV_VERIFY >= 2 |
|
|
3956 | assert (("libev: ev_io_stop called on watcher with invalid fd", fd_valid (w->fd))); |
|
|
3957 | #endif |
3953 | EV_FREQUENT_CHECK; |
3958 | EV_FREQUENT_CHECK; |
3954 | |
3959 | |
3955 | wlist_del (&anfds[w->fd].head, (WL)w); |
3960 | wlist_del (&anfds[w->fd].head, (WL)w); |
3956 | ev_stop (EV_A_ (W)w); |
3961 | ev_stop (EV_A_ (W)w); |
3957 | |
3962 | |