X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2Flibrte_eal%2Flinuxapp%2Feal%2Feal_alarm.c;h=8b042abc203c7d399308246cb2e16507c3a8b336;hb=8e22aae5cb1f183a8a2b819fd4e07f6f31c5964a;hp=ff57323d1668f0fb2e9a1966da43086a15c15ac4;hpb=d08d304508a8a8caf255baf622ab65db1fec952c;p=dpdk.git diff --git a/lib/librte_eal/linuxapp/eal/eal_alarm.c b/lib/librte_eal/linuxapp/eal/eal_alarm.c index ff57323d16..8b042abc20 100644 --- a/lib/librte_eal/linuxapp/eal/eal_alarm.c +++ b/lib/librte_eal/linuxapp/eal/eal_alarm.c @@ -63,6 +63,12 @@ #define MS_PER_S 1000 #define US_PER_S (US_PER_MS * MS_PER_S) +#ifdef CLOCK_MONOTONIC_RAW /* Defined in glibc bits/time.h */ +#define CLOCK_TYPE_ID CLOCK_MONOTONIC_RAW +#else +#define CLOCK_TYPE_ID CLOCK_MONOTONIC +#endif + struct alarm_entry { LIST_ENTRY(alarm_entry) next; struct timeval time; @@ -104,7 +110,7 @@ eal_alarm_callback(struct rte_intr_handle *hdl __rte_unused, rte_spinlock_lock(&alarm_list_lk); while ((ap = LIST_FIRST(&alarm_list)) !=NULL && - clock_gettime(CLOCK_MONOTONIC_RAW, &now) == 0 && + clock_gettime(CLOCK_TYPE_ID, &now) == 0 && (ap->time.tv_sec < now.tv_sec || (ap->time.tv_sec == now.tv_sec && (ap->time.tv_usec * NS_PER_US) <= now.tv_nsec))) { ap->executing = 1; @@ -152,7 +158,7 @@ rte_eal_alarm_set(uint64_t us, rte_eal_alarm_callback cb_fn, void *cb_arg) return -ENOMEM; /* use current time to calculate absolute time of alarm */ - clock_gettime(CLOCK_MONOTONIC_RAW, &now); + clock_gettime(CLOCK_TYPE_ID, &now); new_alarm->cb_fn = cb_fn; new_alarm->cb_arg = cb_arg;