diff options
| author | root <root> | 2007-11-17 02:23:54 +0000 | 
|---|---|---|
| committer | root <root> | 2007-11-17 02:23:54 +0000 | 
| commit | 46b65b3837b54f481a93dc0be132210bd2e00f1f (patch) | |
| tree | d318ccf0567f5fd355f3899a239b9d39d91d4299 | |
| parent | b05a0efa267648cf18cad1e018068034b735093b (diff) | |
do a lot of minor tweaking
| -rw-r--r-- | ev.c | 95 | 
1 files changed, 48 insertions, 47 deletions
@@ -164,7 +164,7 @@ extern "C" {  #if __GNUC__ >= 3  # define expect(expr,value)         __builtin_expect ((expr),(value)) -# define inline                     inline +# define inline                     static inline  #else  # define expect(expr,value)         (expr)  # define inline                     static @@ -368,7 +368,7 @@ ev_feed_event (EV_P_ void *w, int revents)  {    W w_ = (W)w; -  if (w_->pending) +  if (expect_false (w_->pending))      {        pendings [ABSPRI (w_)][w_->pending - 1].events |= revents;        return; @@ -412,7 +412,7 @@ ev_feed_fd_event (EV_P_ int fd, int revents)  /*****************************************************************************/ -static void +inline void  fd_reify (EV_P)  {    int i; @@ -449,7 +449,7 @@ fd_reify (EV_P)  static void  fd_change (EV_P_ int fd)  { -  if (anfds [fd].reify) +  if (expect_false (anfds [fd].reify))      return;    anfds [fd].reify = 1; @@ -471,7 +471,7 @@ fd_kill (EV_P_ int fd)      }  } -static int +inline int  fd_valid (int fd)  {  #ifdef _WIN32 @@ -650,7 +650,7 @@ sigcb (EV_P_ struct ev_io *iow, int revents)        ev_feed_signal_event (EV_A_ signum + 1);  } -inline void +static void  fd_intern (int fd)  {  #ifdef _WIN32 @@ -1014,7 +1014,7 @@ call_pending (EV_P)        }  } -static void +inline void  timers_reify (EV_P)  {    while (timercnt && ((WT)timers [0])->at <= mn_now) @@ -1042,7 +1042,7 @@ timers_reify (EV_P)  }  #if EV_PERIODICS -static void +inline void  periodics_reify (EV_P)  {    while (periodiccnt && ((WT)periodics [0])->at <= ev_rt_now) @@ -1111,7 +1111,7 @@ time_update_monotonic (EV_P)      }  } -static void +inline void  time_update (EV_P)  {    int i; @@ -1232,7 +1232,7 @@ ev_loop (EV_P_ int flags)              }  #endif -          if (block < 0.) block = 0.; +          if (expect_false (block < 0.)) block = 0.;          }        method_poll (EV_A_ block); @@ -1251,12 +1251,12 @@ ev_loop (EV_P_ int flags)          queue_events (EV_A_ (W *)idles, idlecnt, EV_IDLE);        /* queue check watchers, to be executed first */ -      if (checkcnt) +      if (expect_false (checkcnt))          queue_events (EV_A_ (W *)checks, checkcnt, EV_CHECK);        call_pending (EV_A); -      if (loop_done) +      if (expect_false (loop_done))          break;      } @@ -1328,7 +1328,7 @@ ev_io_start (EV_P_ struct ev_io *w)  {    int fd = w->fd; -  if (ev_is_active (w)) +  if (expect_false (ev_is_active (w)))      return;    assert (("ev_io_start called with negative fd", fd >= 0)); @@ -1344,7 +1344,7 @@ void  ev_io_stop (EV_P_ struct ev_io *w)  {    ev_clear_pending (EV_A_ (W)w); -  if (!ev_is_active (w)) +  if (expect_false (!ev_is_active (w)))      return;    assert (("ev_io_start called with illegal fd (must stay constant after start!)", w->fd >= 0 && w->fd < anfdmax)); @@ -1358,7 +1358,7 @@ ev_io_stop (EV_P_ struct ev_io *w)  void  ev_timer_start (EV_P_ struct ev_timer *w)  { -  if (ev_is_active (w)) +  if (expect_false (ev_is_active (w)))      return;    ((WT)w)->at += mn_now; @@ -1377,12 +1377,12 @@ void  ev_timer_stop (EV_P_ struct ev_timer *w)  {    ev_clear_pending (EV_A_ (W)w); -  if (!ev_is_active (w)) +  if (expect_false (!ev_is_active (w)))      return;    assert (("internal timer heap corruption", timers [((W)w)->active - 1] == w)); -  if (((W)w)->active < timercnt--) +  if (expect_true (((W)w)->active < timercnt--))      {        timers [((W)w)->active - 1] = timers [timercnt];        adjustheap ((WT *)timers, timercnt, ((W)w)->active - 1); @@ -1417,7 +1417,7 @@ ev_timer_again (EV_P_ struct ev_timer *w)  void  ev_periodic_start (EV_P_ struct ev_periodic *w)  { -  if (ev_is_active (w)) +  if (expect_false (ev_is_active (w)))      return;    if (w->reschedule_cb) @@ -1441,12 +1441,12 @@ void  ev_periodic_stop (EV_P_ struct ev_periodic *w)  {    ev_clear_pending (EV_A_ (W)w); -  if (!ev_is_active (w)) +  if (expect_false (!ev_is_active (w)))      return;    assert (("internal periodic heap corruption", periodics [((W)w)->active - 1] == w)); -  if (((W)w)->active < periodiccnt--) +  if (expect_true (((W)w)->active < periodiccnt--))      {        periodics [((W)w)->active - 1] = periodics [periodiccnt];        adjustheap ((WT *)periodics, periodiccnt, ((W)w)->active - 1); @@ -1467,7 +1467,7 @@ ev_periodic_again (EV_P_ struct ev_periodic *w)  void  ev_idle_start (EV_P_ struct ev_idle *w)  { -  if (ev_is_active (w)) +  if (expect_false (ev_is_active (w)))      return;    ev_start (EV_A_ (W)w, ++idlecnt); @@ -1479,7 +1479,7 @@ void  ev_idle_stop (EV_P_ struct ev_idle *w)  {    ev_clear_pending (EV_A_ (W)w); -  if (!ev_is_active (w)) +  if (expect_false (!ev_is_active (w)))      return;    idles [((W)w)->active - 1] = idles [--idlecnt]; @@ -1489,7 +1489,7 @@ ev_idle_stop (EV_P_ struct ev_idle *w)  void  ev_prepare_start (EV_P_ struct ev_prepare *w)  { -  if (ev_is_active (w)) +  if (expect_false (ev_is_active (w)))      return;    ev_start (EV_A_ (W)w, ++preparecnt); @@ -1501,7 +1501,7 @@ void  ev_prepare_stop (EV_P_ struct ev_prepare *w)  {    ev_clear_pending (EV_A_ (W)w); -  if (!ev_is_active (w)) +  if (expect_false (!ev_is_active (w)))      return;    prepares [((W)w)->active - 1] = prepares [--preparecnt]; @@ -1511,7 +1511,7 @@ ev_prepare_stop (EV_P_ struct ev_prepare *w)  void  ev_check_start (EV_P_ struct ev_check *w)  { -  if (ev_is_active (w)) +  if (expect_false (ev_is_active (w)))      return;    ev_start (EV_A_ (W)w, ++checkcnt); @@ -1523,7 +1523,7 @@ void  ev_check_stop (EV_P_ struct ev_check *w)  {    ev_clear_pending (EV_A_ (W)w); -  if (!ev_is_active (w)) +  if (expect_false (!ev_is_active (w)))      return;    checks [((W)w)->active - 1] = checks [--checkcnt]; @@ -1540,7 +1540,7 @@ ev_signal_start (EV_P_ struct ev_signal *w)  #if EV_MULTIPLICITY    assert (("signal watchers are only supported in the default loop", loop == ev_default_loop_ptr));  #endif -  if (ev_is_active (w)) +  if (expect_false (ev_is_active (w)))      return;    assert (("ev_signal_start called with illegal signal number", w->signum > 0)); @@ -1567,7 +1567,7 @@ void  ev_signal_stop (EV_P_ struct ev_signal *w)  {    ev_clear_pending (EV_A_ (W)w); -  if (!ev_is_active (w)) +  if (expect_false (!ev_is_active (w)))      return;    wlist_del ((WL *)&signals [w->signum - 1].head, (WL)w); @@ -1583,7 +1583,7 @@ ev_child_start (EV_P_ struct ev_child *w)  #if EV_MULTIPLICITY    assert (("child watchers are only supported in the default loop", loop == ev_default_loop_ptr));  #endif -  if (ev_is_active (w)) +  if (expect_false (ev_is_active (w)))      return;    ev_start (EV_A_ (W)w, 1); @@ -1594,7 +1594,7 @@ void  ev_child_stop (EV_P_ struct ev_child *w)  {    ev_clear_pending (EV_A_ (W)w); -  if (!ev_is_active (w)) +  if (expect_false (!ev_is_active (w)))      return;    wlist_del ((WL *)&childs [w->pid & (PID_HASHSIZE - 1)], (WL)w); @@ -1641,26 +1641,27 @@ ev_once (EV_P_ int fd, int events, ev_tstamp timeout, void (*cb)(int revents, vo  {    struct ev_once *once = (struct ev_once *)ev_malloc (sizeof (struct ev_once)); -  if (!once) -    cb (EV_ERROR | EV_READ | EV_WRITE | EV_TIMEOUT, arg); -  else +  if (expect_false (!once))      { -      once->cb  = cb; -      once->arg = arg; +      cb (EV_ERROR | EV_READ | EV_WRITE | EV_TIMEOUT, arg); +      return; +    } -      ev_init (&once->io, once_cb_io); -      if (fd >= 0) -        { -          ev_io_set (&once->io, fd, events); -          ev_io_start (EV_A_ &once->io); -        } +  once->cb  = cb; +  once->arg = arg; -      ev_init (&once->to, once_cb_to); -      if (timeout >= 0.) -        { -          ev_timer_set (&once->to, timeout, 0.); -          ev_timer_start (EV_A_ &once->to); -        } +  ev_init (&once->io, once_cb_io); +  if (fd >= 0) +    { +      ev_io_set (&once->io, fd, events); +      ev_io_start (EV_A_ &once->io); +    } + +  ev_init (&once->to, once_cb_to); +  if (timeout >= 0.) +    { +      ev_timer_set (&once->to, timeout, 0.); +      ev_timer_start (EV_A_ &once->to);      }  }  | 
