From f9a7554009cf38f390e74fcabc5b49f974f72382 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Thu, 24 Oct 2019 21:01:40 +0000 Subject: Change most internal uses of time to __clock_gettime. As for gettimeofday, time will be implemented based on clock_gettime on all platforms and internal code should use clock_gettime directly. In addition to removing a layer of indirection, this will allow us to remove the PLT-bypass gunk for gettimeofday. The changed code always assumes __clock_gettime (CLOCK_REALTIME) or __clock_gettime (CLOCK_REALTIME_COARSE) (for Linux case) cannot fail, using the same rationale for gettimeofday change. And internal helper was added (time_now). Checked on x86_64-linux-gnu, i686-linux-gnu, powerpc64le-linux-gnu, powerpc64-linux-gnu, and powerpc-linux-gnu. Reviewed-by: Lukasz Majewski --- nscd/nscd_gethst_r.c | 2 +- nscd/nscd_helper.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'nscd') diff --git a/nscd/nscd_gethst_r.c b/nscd/nscd_gethst_r.c index 18c6be0d48..8eca90fd52 100644 --- a/nscd/nscd_gethst_r.c +++ b/nscd/nscd_gethst_r.c @@ -113,7 +113,7 @@ __nscd_get_nl_timestamp (void) if (map == NULL || (map != NO_MAPPING && map->head->nscd_certainly_running == 0 - && map->head->timestamp + MAPPING_TIMEOUT < time (NULL))) + && map->head->timestamp + MAPPING_TIMEOUT < time_now ())) map = __nscd_get_mapping (GETFDHST, "hosts", &__hst_map_handle.mapped); if (map == NO_MAPPING) diff --git a/nscd/nscd_helper.c b/nscd/nscd_helper.c index 7361fe2e0a..d50615e13e 100644 --- a/nscd/nscd_helper.c +++ b/nscd/nscd_helper.c @@ -348,7 +348,7 @@ __nscd_get_mapping (request_type type, const char *key, thread got stuck. */ || __builtin_expect (! head->nscd_certainly_running && (head->timestamp + MAPPING_TIMEOUT - < time (NULL)), 0)) + < time_now ()), 0)) { out_unmap: __munmap (mapping, mapsize); @@ -414,7 +414,7 @@ __nscd_get_map_ref (request_type type, const char *name, /* If not mapped or timestamp not updated, request new map. */ if (cur == NULL || (cur->head->nscd_certainly_running == 0 - && cur->head->timestamp + MAPPING_TIMEOUT < time (NULL)) + && cur->head->timestamp + MAPPING_TIMEOUT < time_now ()) || cur->head->data_size > cur->datasize) cur = __nscd_get_mapping (type, name, (struct mapped_database **) &mapptr->mapped); -- cgit 1.4.1