Merge branch 'master' of https://github.com/yashi/fio
authorJens Axboe <axboe@kernel.dk>
Thu, 28 Dec 2017 15:35:11 +0000 (08:35 -0700)
committerJens Axboe <axboe@kernel.dk>
Thu, 28 Dec 2017 15:35:11 +0000 (08:35 -0700)
mutex.c

diff --git a/mutex.c b/mutex.c
index 9fab715bd7429e87b2690000d49a69bbaea3785a..63229eda09d62084f2b3e7a4cb076fcdf2e0dc88 100644 (file)
--- a/mutex.c
+++ b/mutex.c
@@ -156,14 +156,15 @@ static bool mutex_timed_out(struct timespec *t, unsigned int msecs)
 int fio_mutex_down_timeout(struct fio_mutex *mutex, unsigned int msecs)
 {
        struct timeval tv_s;
+       struct timespec base;
        struct timespec t;
        int ret = 0;
 
        assert(mutex->magic == FIO_MUTEX_MAGIC);
 
        gettimeofday(&tv_s, NULL);
-       t.tv_sec = tv_s.tv_sec;
-       t.tv_nsec = tv_s.tv_usec * 1000;
+       base.tv_sec = t.tv_sec = tv_s.tv_sec;
+       base.tv_nsec = t.tv_nsec = tv_s.tv_usec * 1000;
 
        t.tv_sec += msecs / 1000;
        t.tv_nsec += ((msecs * 1000000ULL) % 1000000000);
@@ -181,7 +182,7 @@ int fio_mutex_down_timeout(struct fio_mutex *mutex, unsigned int msecs)
                 * way too early, double check.
                 */
                ret = pthread_cond_timedwait(&mutex->cond, &mutex->lock, &t);
-               if (ret == ETIMEDOUT && !mutex_timed_out(&t, msecs))
+               if (ret == ETIMEDOUT && !mutex_timed_out(&base, msecs))
                        ret = 0;
        }
        mutex->waiters--;