From 3c1efa0c92445638bbfa57c2e868c79f7d987fc3 Mon Sep 17 00:00:00 2001 From: Vijay Bellur Date: Thu, 20 Jun 2019 15:50:01 -0700 Subject: Replace usleep() with nanosleep() As usleep has been obsoleted, changed all invocations of usleep to nanosleep. From man 3 usleep: "4.3BSD, POSIX.1-2001. POSIX.1-2001 declares this function obsolete; use nanosleep(2) instead. POSIX.1-2008 removes the specification of usleep()." Added a helper function gf_nanosleep() to have a single place for handling edge cases that might arise from the conversion of usleep to nanosleep and allow the sleep to resume with right remaining value upon being interrupted. Fixes: bz#1721686 Change-Id: Ia39ab82c9e0f4669d2c00d4cdf25e38d94ef9f62 Signed-off-by: Vijay Bellur --- libglusterfs/src/glusterfs/common-utils.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'libglusterfs/src/glusterfs/common-utils.h') diff --git a/libglusterfs/src/glusterfs/common-utils.h b/libglusterfs/src/glusterfs/common-utils.h index 41328496e6d..b184031e565 100644 --- a/libglusterfs/src/glusterfs/common-utils.h +++ b/libglusterfs/src/glusterfs/common-utils.h @@ -115,6 +115,9 @@ trap(void); #define GF_HOUR_IN_SECONDS (60 * 60) #define GF_DAY_IN_SECONDS (24 * 60 * 60) #define GF_WEEK_IN_SECONDS (7 * 24 * 60 * 60) +#define GF_SEC_IN_NS 1000000000 +#define GF_MS_IN_NS 1000000 +#define GF_US_IN_NS 1000 /* Default timeout for both barrier and changelog translator */ #define BARRIER_TIMEOUT "120" @@ -1165,4 +1168,7 @@ find_xlator_option_in_cmd_args_t(const char *option_name, cmd_args_t *args); int gf_d_type_from_ia_type(ia_type_t type); +int +gf_nanosleep(uint64_t nsec); + #endif /* _COMMON_UTILS_H */ -- cgit