diff options
| -rw-r--r-- | libglusterfs/src/compat.h | 4 | ||||
| -rw-r--r-- | xlators/performance/io-threads/src/io-threads.c | 7 | 
2 files changed, 8 insertions, 3 deletions
diff --git a/libglusterfs/src/compat.h b/libglusterfs/src/compat.h index 33388598b1e..54e7589b164 100644 --- a/libglusterfs/src/compat.h +++ b/libglusterfs/src/compat.h @@ -463,6 +463,10 @@ int gf_mkostemp (char *tmpl, int suffixlen, int flags);  #define ST_CTIM_NSEC_SET(stbuf, val) do { } while (0);  #endif +#ifdef GF_BSD_HOST_OS +#define CLOCK_REALTIME_COARSE CLOCK_REALTIME +#endif +  #ifndef IPV6_DEFAULT  #ifndef IXDR_GET_LONG diff --git a/xlators/performance/io-threads/src/io-threads.c b/xlators/performance/io-threads/src/io-threads.c index 541079e2070..5ab38890df3 100644 --- a/xlators/performance/io-threads/src/io-threads.c +++ b/xlators/performance/io-threads/src/io-threads.c @@ -162,8 +162,6 @@ iot_worker (void *data)          THIS = this;          for (;;) { -                sleep_till.tv_sec = time (NULL) + conf->idle_time; -                  pthread_mutex_lock (&conf->mutex);                  {                          if (pri != -1) { @@ -171,8 +169,11 @@ iot_worker (void *data)                                  pri = -1;                          }                          while (conf->queue_size == 0) { -                                conf->sleep_count++; +                                clock_gettime (CLOCK_REALTIME_COARSE, +                                               &sleep_till); +                                sleep_till.tv_sec += conf->idle_time; +                                conf->sleep_count++;                                  ret = pthread_cond_timedwait (&conf->cond,                                                                &conf->mutex,                                                                &sleep_till);  | 
