… | |
… | |
363 | EV_WATCHER (ev_async) |
363 | EV_WATCHER (ev_async) |
364 | |
364 | |
365 | EV_ATOMIC_T sent; /* private */ |
365 | EV_ATOMIC_T sent; /* private */ |
366 | } ev_async; |
366 | } ev_async; |
367 | |
367 | |
368 | # define ev_async_pending(w) ((w)->sent + 0) |
368 | # define ev_async_pending(w) (+(w)->sent) |
369 | #endif |
369 | #endif |
370 | |
370 | |
371 | /* the presence of this union forces similar struct layout */ |
371 | /* the presence of this union forces similar struct layout */ |
372 | union ev_any_watcher |
372 | union ev_any_watcher |
373 | { |
373 | { |
… | |
… | |
611 | |
611 | |
612 | #if EV_MINPRI == EV_MAXPRI |
612 | #if EV_MINPRI == EV_MAXPRI |
613 | # define ev_priority(ev) ((ev), EV_MINPRI) |
613 | # define ev_priority(ev) ((ev), EV_MINPRI) |
614 | # define ev_set_priority(ev,pri) ((ev), (pri)) |
614 | # define ev_set_priority(ev,pri) ((ev), (pri)) |
615 | #else |
615 | #else |
616 | # define ev_priority(ev) ((((ev_watcher *)(void *)(ev))->priority) + 0) |
616 | # define ev_priority(ev) (+(((ev_watcher *)(void *)(ev))->priority)) |
617 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) |
617 | # define ev_set_priority(ev,pri) ( (ev_watcher *)(void *)(ev))->priority = (pri) |
618 | #endif |
618 | #endif |
619 | |
619 | |
620 | #define ev_periodic_at(ev) (((ev_watcher_time *)(ev))->at + 0.) |
620 | #define ev_periodic_at(ev) (+((ev_watcher_time *)(ev))->at) |
621 | |
621 | |
622 | #ifndef ev_set_cb |
622 | #ifndef ev_set_cb |
623 | # define ev_set_cb(ev,cb_) ev_cb (ev) = (cb_) |
623 | # define ev_set_cb(ev,cb_) ev_cb (ev) = (cb_) |
624 | #endif |
624 | #endif |
625 | |
625 | |