Lines Matching refs:w
1538 # define ABSPRI(w) (((W)w), 0) argument
1540 # define ABSPRI(w) (((W)w)->priority - EV_MINPRI) argument
1550 #define ev_active(w) ((W)(w))->active argument
1551 #define ev_at(w) ((WT)(w))->at argument
1780 W w; member
1797 WT w; member
1800 #define ANHE_w(he) (he).w /* access watcher, read-write */
1802 #define ANHE_at_cache(he) (he).at = (he).w->at /* update at from watcher */
1981 pendingcb (EV_P_ ev_prepare *w, int revents) in pendingcb() argument
1986 ev_feed_event (EV_P_ void *w, int revents) EV_THROW in ev_feed_event() argument
1988 W w_ = (W)w; in ev_feed_event()
1997 pendings [pri][w_->pending - 1].w = w_; in ev_feed_event()
2005 feed_reverse (EV_P_ W w) in feed_reverse() argument
2008 rfeeds [rfeedcnt++] = w; in feed_reverse()
2034 ev_io *w; in fd_event_nocheck() local
2036 for (w = (ev_io *)anfd->head; w; w = (ev_io *)((WL)w)->next) in fd_event_nocheck()
2038 int ev = w->events & revents; in fd_event_nocheck()
2041 ev_feed_event (EV_A_ (W)w, ev); in fd_event_nocheck()
2099 ev_io *w; in fd_reify() local
2110 for (w = (ev_io *)anfd->head; w; w = (ev_io *)((WL)w)->next) in fd_reify()
2111 anfd->events |= (unsigned char)w->events; in fd_reify()
2143 ev_io *w; in fd_kill() local
2145 while ((w = (ev_io *)anfds [fd].head)) in fd_kill()
2147 ev_io_stop (EV_A_ w); in fd_kill()
2148 ev_feed_event (EV_A_ (W)w, EV_ERROR | EV_READ | EV_WRITE); in fd_kill()
2572 WL w; in ev_feed_signal_event() local
2590 for (w = signals [signum].head; w; w = w->next) in ev_feed_signal_event()
2591 ev_feed_event (EV_A_ (W)w, EV_SIGNAL); in ev_feed_signal_event()
2631 ev_child *w; in child_reap() local
2634 for (w = (ev_child *)childs [chain & ((EV_PID_HASHSIZE) - 1)]; w; w = (ev_child *)((WL)w)->next) in child_reap()
2636 if ((w->pid == pid || !w->pid) in child_reap()
2637 && (!traced || (w->flags & 1))) in child_reap()
2639 …ev_set_priority (w, EV_MAXPRI); /* need to do it *now*, this *must* be the same prio as the signal… in child_reap()
2640 w->rpid = pid; in child_reap()
2641 w->rstatus = status; in child_reap()
2642 ev_feed_event (EV_A_ (W)w, EV_CHILD); in child_reap()
3094 verify_watcher (EV_P_ W w) in verify_watcher() argument
3096 assert (("libev: watcher has invalid priority", ABSPRI (w) >= 0 && ABSPRI (w) < NUMPRI)); in verify_watcher()
3098 if (w->pending) in verify_watcher()
3099 …rt (("libev: pending watcher not on pending queue", pendings [ABSPRI (w)][w->pending - 1].w == w)); in verify_watcher()
3134 WL w, w2; in ev_verify() local
3147 for (w = w2 = anfds [i].head; w; w = w->next) in ev_verify()
3149 verify_watcher (EV_A_ (W)w); in ev_verify()
3153 assert (("libev: io watcher list contains a loop", w != w2)); in ev_verify()
3157 assert (("libev: inactive fd watcher on anfd list", ev_active (w) == 1)); in ev_verify()
3158 assert (("libev: fd mismatch between watcher and anfd", ((ev_io *)w)->fd == i)); in ev_verify()
3207 for (w = (ev_child *)childs [chain & ((EV_PID_HASHSIZE) - 1)]; w; w = (ev_child *)((WL)w)->next) in ev_verify()
3257 ev_invoke (EV_P_ void *w, int revents) in ev_invoke() argument
3259 EV_CB_INVOKE ((W)w, revents); in ev_invoke()
3287 p->w->pending = 0; in ev_invoke_pending()
3288 EV_CB_INVOKE (p->w, p->events); in ev_invoke_pending()
3329 ev_timer *w = (ev_timer *)ANHE_w (timers [HEAP0]); in timers_reify() local
3334 if (w->repeat) in timers_reify()
3336 ev_at (w) += w->repeat; in timers_reify()
3337 if (ev_at (w) < mn_now) in timers_reify()
3338 ev_at (w) = mn_now; in timers_reify()
3340 … assert (("libev: negative ev_timer repeat value found while processing timers", w->repeat > 0.)); in timers_reify()
3346 ev_timer_stop (EV_A_ w); /* nonrepeating: stop timer */ in timers_reify()
3349 feed_reverse (EV_A_ (W)w); in timers_reify()
3360 periodic_recalc (EV_P_ ev_periodic *w) in periodic_recalc() argument
3362 ev_tstamp interval = w->interval > MIN_INTERVAL ? w->interval : MIN_INTERVAL; in periodic_recalc()
3363 ev_tstamp at = w->offset + interval * ev_floor ((ev_rt_now - w->offset) / interval); in periodic_recalc()
3368 ev_tstamp nat = at + w->interval; in periodic_recalc()
3380 ev_at (w) = at; in periodic_recalc()
3393 ev_periodic *w = (ev_periodic *)ANHE_w (periodics [HEAP0]); in periodics_reify() local
3398 if (w->reschedule_cb) in periodics_reify()
3400 ev_at (w) = w->reschedule_cb (w, ev_rt_now); in periodics_reify()
3402 …assert (("libev: ev_periodic reschedule callback returned time in the past", ev_at (w) >= ev_rt_no… in periodics_reify()
3407 else if (w->interval) in periodics_reify()
3409 periodic_recalc (EV_A_ w); in periodics_reify()
3414 ev_periodic_stop (EV_A_ w); /* nonrepeating: stop timer */ in periodics_reify()
3417 feed_reverse (EV_A_ (W)w); in periodics_reify()
3435 ev_periodic *w = (ev_periodic *)ANHE_w (periodics [i]); in periodics_reschedule() local
3437 if (w->reschedule_cb) in periodics_reschedule()
3438 ev_at (w) = w->reschedule_cb (w, ev_rt_now); in periodics_reschedule()
3439 else if (w->interval) in periodics_reschedule()
3440 periodic_recalc (EV_A_ w); in periodics_reschedule()
3776 clear_pending (EV_P_ W w) in clear_pending() argument
3778 if (w->pending) in clear_pending()
3780 pendings [ABSPRI (w)][w->pending - 1].w = (W)&pending_w; in clear_pending()
3781 w->pending = 0; in clear_pending()
3786 ev_clear_pending (EV_P_ void *w) EV_THROW in ev_clear_pending() argument
3788 W w_ = (W)w; in ev_clear_pending()
3794 p->w = (W)&pending_w; in ev_clear_pending()
3803 pri_adjust (EV_P_ W w) in pri_adjust() argument
3805 int pri = ev_priority (w); in pri_adjust()
3808 ev_set_priority (w, pri); in pri_adjust()
3812 ev_start (EV_P_ W w, int active) in ev_start() argument
3814 pri_adjust (EV_A_ w); in ev_start()
3815 w->active = active; in ev_start()
3820 ev_stop (EV_P_ W w) in ev_stop() argument
3823 w->active = 0; in ev_stop()
3829 ev_io_start (EV_P_ ev_io *w) EV_THROW in ev_io_start() argument
3831 int fd = w->fd; in ev_io_start()
3833 if (expect_false (ev_is_active (w))) in ev_io_start()
3837 …assert (("libev: ev_io_start called with illegal event mask", !(w->events & ~(EV__IOFDSET | EV_REA… in ev_io_start()
3841 ev_start (EV_A_ (W)w, 1); in ev_io_start()
3843 wlist_add (&anfds[fd].head, (WL)w); in ev_io_start()
3846 assert (("libev: ev_io_start called with corrupted watcher", ((WL)w)->next != (WL)w)); in ev_io_start()
3848 fd_change (EV_A_ fd, w->events & EV__IOFDSET | EV_ANFD_REIFY); in ev_io_start()
3849 w->events &= ~EV__IOFDSET; in ev_io_start()
3855 ev_io_stop (EV_P_ ev_io *w) EV_THROW in ev_io_stop() argument
3857 clear_pending (EV_A_ (W)w); in ev_io_stop()
3858 if (expect_false (!ev_is_active (w))) in ev_io_stop()
3861 …v_io_stop called with illegal fd (must stay constant after start!)", w->fd >= 0 && w->fd < anfdmax… in ev_io_stop()
3865 wlist_del (&anfds[w->fd].head, (WL)w); in ev_io_stop()
3866 ev_stop (EV_A_ (W)w); in ev_io_stop()
3868 fd_change (EV_A_ w->fd, EV_ANFD_REIFY); in ev_io_stop()
3874 ev_timer_start (EV_P_ ev_timer *w) EV_THROW in ev_timer_start() argument
3876 if (expect_false (ev_is_active (w))) in ev_timer_start()
3879 ev_at (w) += mn_now; in ev_timer_start()
3881 assert (("libev: ev_timer_start called with negative timer repeat value", w->repeat >= 0.)); in ev_timer_start()
3886 ev_start (EV_A_ (W)w, timercnt + HEAP0 - 1); in ev_timer_start()
3887 array_needsize (ANHE, timers, timermax, ev_active (w) + 1, EMPTY2); in ev_timer_start()
3888 ANHE_w (timers [ev_active (w)]) = (WT)w; in ev_timer_start()
3889 ANHE_at_cache (timers [ev_active (w)]); in ev_timer_start()
3890 upheap (timers, ev_active (w)); in ev_timer_start()
3898 ev_timer_stop (EV_P_ ev_timer *w) EV_THROW in ev_timer_stop() argument
3900 clear_pending (EV_A_ (W)w); in ev_timer_stop()
3901 if (expect_false (!ev_is_active (w))) in ev_timer_stop()
3907 int active = ev_active (w); in ev_timer_stop()
3909 assert (("libev: internal timer heap corruption", ANHE_w (timers [active]) == (WT)w)); in ev_timer_stop()
3920 ev_at (w) -= mn_now; in ev_timer_stop()
3922 ev_stop (EV_A_ (W)w); in ev_timer_stop()
3928 ev_timer_again (EV_P_ ev_timer *w) EV_THROW in ev_timer_again() argument
3932 clear_pending (EV_A_ (W)w); in ev_timer_again()
3934 if (ev_is_active (w)) in ev_timer_again()
3936 if (w->repeat) in ev_timer_again()
3938 ev_at (w) = mn_now + w->repeat; in ev_timer_again()
3939 ANHE_at_cache (timers [ev_active (w)]); in ev_timer_again()
3940 adjustheap (timers, timercnt, ev_active (w)); in ev_timer_again()
3943 ev_timer_stop (EV_A_ w); in ev_timer_again()
3945 else if (w->repeat) in ev_timer_again()
3947 ev_at (w) = w->repeat; in ev_timer_again()
3948 ev_timer_start (EV_A_ w); in ev_timer_again()
3955 ev_timer_remaining (EV_P_ ev_timer *w) EV_THROW in ev_timer_remaining() argument
3957 return ev_at (w) - (ev_is_active (w) ? mn_now : 0.); in ev_timer_remaining()
3962 ev_periodic_start (EV_P_ ev_periodic *w) EV_THROW in ev_periodic_start() argument
3964 if (expect_false (ev_is_active (w))) in ev_periodic_start()
3967 if (w->reschedule_cb) in ev_periodic_start()
3968 ev_at (w) = w->reschedule_cb (w, ev_rt_now); in ev_periodic_start()
3969 else if (w->interval) in ev_periodic_start()
3971 assert (("libev: ev_periodic_start called with negative interval value", w->interval >= 0.)); in ev_periodic_start()
3972 periodic_recalc (EV_A_ w); in ev_periodic_start()
3975 ev_at (w) = w->offset; in ev_periodic_start()
3980 ev_start (EV_A_ (W)w, periodiccnt + HEAP0 - 1); in ev_periodic_start()
3981 array_needsize (ANHE, periodics, periodicmax, ev_active (w) + 1, EMPTY2); in ev_periodic_start()
3982 ANHE_w (periodics [ev_active (w)]) = (WT)w; in ev_periodic_start()
3983 ANHE_at_cache (periodics [ev_active (w)]); in ev_periodic_start()
3984 upheap (periodics, ev_active (w)); in ev_periodic_start()
3992 ev_periodic_stop (EV_P_ ev_periodic *w) EV_THROW in ev_periodic_stop() argument
3994 clear_pending (EV_A_ (W)w); in ev_periodic_stop()
3995 if (expect_false (!ev_is_active (w))) in ev_periodic_stop()
4001 int active = ev_active (w); in ev_periodic_stop()
4003 assert (("libev: internal periodic heap corruption", ANHE_w (periodics [active]) == (WT)w)); in ev_periodic_stop()
4014 ev_stop (EV_A_ (W)w); in ev_periodic_stop()
4020 ev_periodic_again (EV_P_ ev_periodic *w) EV_THROW in ev_periodic_again() argument
4023 ev_periodic_stop (EV_A_ w); in ev_periodic_again()
4024 ev_periodic_start (EV_A_ w); in ev_periodic_again()
4035 ev_signal_start (EV_P_ ev_signal *w) EV_THROW in ev_signal_start() argument
4037 if (expect_false (ev_is_active (w))) in ev_signal_start()
4040 …assert (("libev: ev_signal_start called with illegal signal number", w->signum > 0 && w->signum < … in ev_signal_start()
4044 !signals [w->signum - 1].loop || signals [w->signum - 1].loop == loop)); in ev_signal_start()
4046 signals [w->signum - 1].loop = EV_A; in ev_signal_start()
4075 sigaddset (&sigfd_set, w->signum); in ev_signal_start()
4082 ev_start (EV_A_ (W)w, 1); in ev_signal_start()
4083 wlist_add (&signals [w->signum - 1].head, (WL)w); in ev_signal_start()
4085 if (!((WL)w)->next) in ev_signal_start()
4093 signal (w->signum, ev_sighandler); in ev_signal_start()
4102 sigaction (w->signum, &sa, 0); in ev_signal_start()
4107 sigaddset (&sa.sa_mask, w->signum); in ev_signal_start()
4117 ev_signal_stop (EV_P_ ev_signal *w) EV_THROW in ev_signal_stop() argument
4119 clear_pending (EV_A_ (W)w); in ev_signal_stop()
4120 if (expect_false (!ev_is_active (w))) in ev_signal_stop()
4125 wlist_del (&signals [w->signum - 1].head, (WL)w); in ev_signal_stop()
4126 ev_stop (EV_A_ (W)w); in ev_signal_stop()
4128 if (!signals [w->signum - 1].head) in ev_signal_stop()
4131 signals [w->signum - 1].loop = 0; /* unattach from signal */ in ev_signal_stop()
4139 sigaddset (&ss, w->signum); in ev_signal_stop()
4140 sigdelset (&sigfd_set, w->signum); in ev_signal_stop()
4147 signal (w->signum, SIG_DFL); in ev_signal_stop()
4158 ev_child_start (EV_P_ ev_child *w) EV_THROW in ev_child_start() argument
4163 if (expect_false (ev_is_active (w))) in ev_child_start()
4168 ev_start (EV_A_ (W)w, 1); in ev_child_start()
4169 wlist_add (&childs [w->pid & ((EV_PID_HASHSIZE) - 1)], (WL)w); in ev_child_start()
4175 ev_child_stop (EV_P_ ev_child *w) EV_THROW in ev_child_stop() argument
4177 clear_pending (EV_A_ (W)w); in ev_child_stop()
4178 if (expect_false (!ev_is_active (w))) in ev_child_stop()
4183 wlist_del (&childs [w->pid & ((EV_PID_HASHSIZE) - 1)], (WL)w); in ev_child_stop()
4184 ev_stop (EV_A_ (W)w); in ev_child_stop()
4210 infy_add (EV_P_ ev_stat *w) in infy_add() argument
4212 w->wd = inotify_add_watch (fs_fd, w->path, in infy_add()
4217 if (w->wd >= 0) in infy_add()
4226 w->timer.repeat = w->interval ? w->interval : DEF_STAT_INTERVAL; in infy_add()
4227 else if (!statfs (w->path, &sfs) in infy_add()
4240 w->timer.repeat = 0.; /* filesystem is local, kernel new enough */ in infy_add()
4242 …w->timer.repeat = w->interval ? w->interval : NFS_STAT_INTERVAL; /* remote, use reduced frequency … in infy_add()
4247 w->timer.repeat = w->interval ? w->interval : DEF_STAT_INTERVAL; in infy_add()
4252 if ((errno == ENOENT || errno == EACCES) && strlen (w->path) < 4096) in infy_add()
4255 strcpy (path, w->path); in infy_add()
4268 w->wd = inotify_add_watch (fs_fd, path, mask); in infy_add()
4270 while (w->wd < 0 && (errno == ENOENT || errno == EACCES)); in infy_add()
4274 if (w->wd >= 0) in infy_add()
4275 wlist_add (&fs_hash [w->wd & ((EV_INOTIFY_HASHSIZE) - 1)].head, (WL)w); in infy_add()
4278 if (ev_is_active (&w->timer)) ev_ref (EV_A); in infy_add()
4279 ev_timer_again (EV_A_ &w->timer); in infy_add()
4280 if (ev_is_active (&w->timer)) ev_unref (EV_A); in infy_add()
4284 infy_del (EV_P_ ev_stat *w) in infy_del() argument
4287 int wd = w->wd; in infy_del()
4292 w->wd = -2; in infy_del()
4294 wlist_del (&fs_hash [slot].head, (WL)w); in infy_del()
4313 ev_stat *w = (ev_stat *)w_; in infy_wd() local
4316 if (w->wd == wd || wd == -1) in infy_wd()
4320 wlist_del (&fs_hash [slot & ((EV_INOTIFY_HASHSIZE) - 1)].head, (WL)w); in infy_wd()
4321 w->wd = -1; in infy_wd()
4322 infy_add (EV_A_ w); /* re-add, no matter what */ in infy_wd()
4325 stat_timer_cb (EV_A_ &w->timer, 0); in infy_wd()
4332 infy_cb (EV_P_ ev_io *w, int revents) in infy_cb() argument
4419 ev_stat *w = (ev_stat *)w_; in infy_fork() local
4422 w->wd = -1; in infy_fork()
4425 infy_add (EV_A_ w); /* re-add, no matter what */ in infy_fork()
4428 w->timer.repeat = w->interval ? w->interval : DEF_STAT_INTERVAL; in infy_fork()
4429 if (ev_is_active (&w->timer)) ev_ref (EV_A); in infy_fork()
4430 ev_timer_again (EV_A_ &w->timer); in infy_fork()
4431 if (ev_is_active (&w->timer)) ev_unref (EV_A); in infy_fork()
4446 ev_stat_stat (EV_P_ ev_stat *w) EV_THROW in ev_stat_stat() argument
4448 if (lstat (w->path, &w->attr) < 0) in ev_stat_stat()
4449 w->attr.st_nlink = 0; in ev_stat_stat()
4450 else if (!w->attr.st_nlink) in ev_stat_stat()
4451 w->attr.st_nlink = 1; in ev_stat_stat()
4457 ev_stat *w = (ev_stat *)(((char *)w_) - offsetof (ev_stat, timer)); in stat_timer_cb() local
4459 ev_statdata prev = w->attr; in stat_timer_cb()
4460 ev_stat_stat (EV_A_ w); in stat_timer_cb()
4464 prev.st_dev != w->attr.st_dev in stat_timer_cb()
4465 || prev.st_ino != w->attr.st_ino in stat_timer_cb()
4466 || prev.st_mode != w->attr.st_mode in stat_timer_cb()
4467 || prev.st_nlink != w->attr.st_nlink in stat_timer_cb()
4468 || prev.st_uid != w->attr.st_uid in stat_timer_cb()
4469 || prev.st_gid != w->attr.st_gid in stat_timer_cb()
4470 || prev.st_rdev != w->attr.st_rdev in stat_timer_cb()
4471 || prev.st_size != w->attr.st_size in stat_timer_cb()
4472 || prev.st_atime != w->attr.st_atime in stat_timer_cb()
4473 || prev.st_mtime != w->attr.st_mtime in stat_timer_cb()
4474 || prev.st_ctime != w->attr.st_ctime in stat_timer_cb()
4479 w->prev = prev; in stat_timer_cb()
4484 infy_del (EV_A_ w); in stat_timer_cb()
4485 infy_add (EV_A_ w); in stat_timer_cb()
4486 ev_stat_stat (EV_A_ w); /* avoid race... */ in stat_timer_cb()
4490 ev_feed_event (EV_A_ w, EV_STAT); in stat_timer_cb()
4495 ev_stat_start (EV_P_ ev_stat *w) EV_THROW in ev_stat_start() argument
4497 if (expect_false (ev_is_active (w))) in ev_stat_start()
4500 ev_stat_stat (EV_A_ w); in ev_stat_start()
4502 if (w->interval < MIN_STAT_INTERVAL && w->interval) in ev_stat_start()
4503 w->interval = MIN_STAT_INTERVAL; in ev_stat_start()
4505 ev_timer_init (&w->timer, stat_timer_cb, 0., w->interval ? w->interval : DEF_STAT_INTERVAL); in ev_stat_start()
4506 ev_set_priority (&w->timer, ev_priority (w)); in ev_stat_start()
4512 infy_add (EV_A_ w); in ev_stat_start()
4516 ev_timer_again (EV_A_ &w->timer); in ev_stat_start()
4520 ev_start (EV_A_ (W)w, 1); in ev_stat_start()
4526 ev_stat_stop (EV_P_ ev_stat *w) EV_THROW in ev_stat_stop() argument
4528 clear_pending (EV_A_ (W)w); in ev_stat_stop()
4529 if (expect_false (!ev_is_active (w))) in ev_stat_stop()
4535 infy_del (EV_A_ w); in ev_stat_stop()
4538 if (ev_is_active (&w->timer)) in ev_stat_stop()
4541 ev_timer_stop (EV_A_ &w->timer); in ev_stat_stop()
4544 ev_stop (EV_A_ (W)w); in ev_stat_stop()
4552 ev_idle_start (EV_P_ ev_idle *w) EV_THROW in ev_idle_start() argument
4554 if (expect_false (ev_is_active (w))) in ev_idle_start()
4557 pri_adjust (EV_A_ (W)w); in ev_idle_start()
4562 int active = ++idlecnt [ABSPRI (w)]; in ev_idle_start()
4565 ev_start (EV_A_ (W)w, active); in ev_idle_start()
4567 array_needsize (ev_idle *, idles [ABSPRI (w)], idlemax [ABSPRI (w)], active, EMPTY2); in ev_idle_start()
4568 idles [ABSPRI (w)][active - 1] = w; in ev_idle_start()
4575 ev_idle_stop (EV_P_ ev_idle *w) EV_THROW in ev_idle_stop() argument
4577 clear_pending (EV_A_ (W)w); in ev_idle_stop()
4578 if (expect_false (!ev_is_active (w))) in ev_idle_stop()
4584 int active = ev_active (w); in ev_idle_stop()
4586 idles [ABSPRI (w)][active - 1] = idles [ABSPRI (w)][--idlecnt [ABSPRI (w)]]; in ev_idle_stop()
4587 ev_active (idles [ABSPRI (w)][active - 1]) = active; in ev_idle_stop()
4589 ev_stop (EV_A_ (W)w); in ev_idle_stop()
4599 ev_prepare_start (EV_P_ ev_prepare *w) EV_THROW in ev_prepare_start() argument
4601 if (expect_false (ev_is_active (w))) in ev_prepare_start()
4606 ev_start (EV_A_ (W)w, ++preparecnt); in ev_prepare_start()
4608 prepares [preparecnt - 1] = w; in ev_prepare_start()
4614 ev_prepare_stop (EV_P_ ev_prepare *w) EV_THROW in ev_prepare_stop() argument
4616 clear_pending (EV_A_ (W)w); in ev_prepare_stop()
4617 if (expect_false (!ev_is_active (w))) in ev_prepare_stop()
4623 int active = ev_active (w); in ev_prepare_stop()
4629 ev_stop (EV_A_ (W)w); in ev_prepare_stop()
4637 ev_check_start (EV_P_ ev_check *w) EV_THROW in ev_check_start() argument
4639 if (expect_false (ev_is_active (w))) in ev_check_start()
4644 ev_start (EV_A_ (W)w, ++checkcnt); in ev_check_start()
4646 checks [checkcnt - 1] = w; in ev_check_start()
4652 ev_check_stop (EV_P_ ev_check *w) EV_THROW in ev_check_stop() argument
4654 clear_pending (EV_A_ (W)w); in ev_check_stop()
4655 if (expect_false (!ev_is_active (w))) in ev_check_stop()
4661 int active = ev_active (w); in ev_check_stop()
4667 ev_stop (EV_A_ (W)w); in ev_check_stop()
4675 ev_embed_sweep (EV_P_ ev_embed *w) EV_THROW in ev_embed_sweep() argument
4677 ev_run (w->other, EVRUN_NOWAIT); in ev_embed_sweep()
4683 ev_embed *w = (ev_embed *)(((char *)io) - offsetof (ev_embed, io)); in embed_io_cb() local
4685 if (ev_cb (w)) in embed_io_cb()
4686 ev_feed_event (EV_A_ (W)w, EV_EMBED); in embed_io_cb()
4688 ev_run (w->other, EVRUN_NOWAIT); in embed_io_cb()
4694 ev_embed *w = (ev_embed *)(((char *)prepare) - offsetof (ev_embed, prepare)); in embed_prepare_cb() local
4697 EV_P = w->other; in embed_prepare_cb()
4710 ev_embed *w = (ev_embed *)(((char *)fork_w) - offsetof (ev_embed, fork)); in embed_fork_cb() local
4712 ev_embed_stop (EV_A_ w); in embed_fork_cb()
4715 EV_P = w->other; in embed_fork_cb()
4721 ev_embed_start (EV_A_ w); in embed_fork_cb()
4733 ev_embed_start (EV_P_ ev_embed *w) EV_THROW in ev_embed_start() argument
4735 if (expect_false (ev_is_active (w))) in ev_embed_start()
4739 EV_P = w->other; in ev_embed_start()
4741 ev_io_init (&w->io, embed_io_cb, backend_fd, EV_READ); in ev_embed_start()
4746 ev_set_priority (&w->io, ev_priority (w)); in ev_embed_start()
4747 ev_io_start (EV_A_ &w->io); in ev_embed_start()
4749 ev_prepare_init (&w->prepare, embed_prepare_cb); in ev_embed_start()
4750 ev_set_priority (&w->prepare, EV_MINPRI); in ev_embed_start()
4751 ev_prepare_start (EV_A_ &w->prepare); in ev_embed_start()
4753 ev_fork_init (&w->fork, embed_fork_cb); in ev_embed_start()
4754 ev_fork_start (EV_A_ &w->fork); in ev_embed_start()
4758 ev_start (EV_A_ (W)w, 1); in ev_embed_start()
4764 ev_embed_stop (EV_P_ ev_embed *w) EV_THROW in ev_embed_stop() argument
4766 clear_pending (EV_A_ (W)w); in ev_embed_stop()
4767 if (expect_false (!ev_is_active (w))) in ev_embed_stop()
4772 ev_io_stop (EV_A_ &w->io); in ev_embed_stop()
4773 ev_prepare_stop (EV_A_ &w->prepare); in ev_embed_stop()
4774 ev_fork_stop (EV_A_ &w->fork); in ev_embed_stop()
4776 ev_stop (EV_A_ (W)w); in ev_embed_stop()
4784 ev_fork_start (EV_P_ ev_fork *w) EV_THROW in ev_fork_start() argument
4786 if (expect_false (ev_is_active (w))) in ev_fork_start()
4791 ev_start (EV_A_ (W)w, ++forkcnt); in ev_fork_start()
4793 forks [forkcnt - 1] = w; in ev_fork_start()
4799 ev_fork_stop (EV_P_ ev_fork *w) EV_THROW in ev_fork_stop() argument
4801 clear_pending (EV_A_ (W)w); in ev_fork_stop()
4802 if (expect_false (!ev_is_active (w))) in ev_fork_stop()
4808 int active = ev_active (w); in ev_fork_stop()
4814 ev_stop (EV_A_ (W)w); in ev_fork_stop()
4822 ev_cleanup_start (EV_P_ ev_cleanup *w) EV_THROW in ev_cleanup_start() argument
4824 if (expect_false (ev_is_active (w))) in ev_cleanup_start()
4829 ev_start (EV_A_ (W)w, ++cleanupcnt); in ev_cleanup_start()
4831 cleanups [cleanupcnt - 1] = w; in ev_cleanup_start()
4839 ev_cleanup_stop (EV_P_ ev_cleanup *w) EV_THROW in ev_cleanup_stop() argument
4841 clear_pending (EV_A_ (W)w); in ev_cleanup_stop()
4842 if (expect_false (!ev_is_active (w))) in ev_cleanup_stop()
4849 int active = ev_active (w); in ev_cleanup_stop()
4855 ev_stop (EV_A_ (W)w); in ev_cleanup_stop()
4863 ev_async_start (EV_P_ ev_async *w) EV_THROW in ev_async_start() argument
4865 if (expect_false (ev_is_active (w))) in ev_async_start()
4868 w->sent = 0; in ev_async_start()
4874 ev_start (EV_A_ (W)w, ++asynccnt); in ev_async_start()
4876 asyncs [asynccnt - 1] = w; in ev_async_start()
4882 ev_async_stop (EV_P_ ev_async *w) EV_THROW in ev_async_stop() argument
4884 clear_pending (EV_A_ (W)w); in ev_async_stop()
4885 if (expect_false (!ev_is_active (w))) in ev_async_stop()
4891 int active = ev_active (w); in ev_async_stop()
4897 ev_stop (EV_A_ (W)w); in ev_async_stop()
4903 ev_async_send (EV_P_ ev_async *w) EV_THROW in ev_async_send() argument
4905 w->sent = 1; in ev_async_send()
4934 once_cb_io (EV_P_ ev_io *w, int revents) in once_cb_io() argument
4936 struct ev_once *once = (struct ev_once *)(((char *)w) - offsetof (struct ev_once, io)); in once_cb_io()
4942 once_cb_to (EV_P_ ev_timer *w, int revents) in once_cb_to() argument
4944 struct ev_once *once = (struct ev_once *)(((char *)w) - offsetof (struct ev_once, to)); in once_cb_to()
4982 ev_walk (EV_P_ int types, void (*cb)(EV_P_ int type, void *w)) EV_THROW in ev_walk() argument