X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2Ftimer.c;h=e1e32eb285f7003698b84add8fff8cdac080b044;hb=b7b929931a07fbb27b43d5cd105f366c3e29807e;hp=85149dc6b008388a866b78dd5cd412ec2b026577;hpb=6390df300e6795e557f824e55b138837dabcf74b;p=vpp.git diff --git a/src/vppinfra/timer.c b/src/vppinfra/timer.c index 85149dc6b00..e1e32eb285f 100644 --- a/src/vppinfra/timer.c +++ b/src/vppinfra/timer.c @@ -46,6 +46,10 @@ #include #include +#ifndef HZ +#define HZ 1000 +#endif + typedef struct { f64 time; @@ -112,14 +116,14 @@ timer_interrupt (int signum) vector of pending timers. */ t = vec_end (timers) - 1; - ASSERT (now >= 0 && finite (now)); + ASSERT (now >= 0 && isfinite (now)); /* Time difference between when timer goes off and now. */ dt = t->time - now; /* If timer is within threshold of going off call user's callback. */ - if (dt <= time_resolution && finite (dt)) + if (dt <= time_resolution && isfinite (dt)) { _vec_len (timers) -= 1; (*t->func) (t->arg, -dt); @@ -128,7 +132,7 @@ timer_interrupt (int signum) { /* Set timer for to go off in future. */ struct itimerval itv; - memset (&itv, 0, sizeof (itv)); + clib_memset (&itv, 0, sizeof (itv)); f64_to_tv (dt, &itv.it_value); if (setitimer (ITIMER_REAL, &itv, 0) < 0) clib_unix_error ("sititmer"); @@ -142,7 +146,7 @@ timer_block (sigset_t * save) { sigset_t block_timer; - memset (&block_timer, 0, sizeof (block_timer)); + clib_memset (&block_timer, 0, sizeof (block_timer)); sigaddset (&block_timer, TIMER_SIGNAL); sigprocmask (SIG_BLOCK, &block_timer, save); } @@ -171,7 +175,7 @@ timer_call (timer_func_t * func, any arg, f64 dt) /* Initialize time_resolution before first call to timer_interrupt */ time_resolution = 0.75 / (f64) HZ; - memset (&sa, 0, sizeof (sa)); + clib_memset (&sa, 0, sizeof (sa)); sa.sa_handler = timer_interrupt; if (sigaction (TIMER_SIGNAL, &sa, 0) < 0)