projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'asmfix' of https://github.com/oohal/fio
[fio.git]
/
mutex.c
diff --git
a/mutex.c
b/mutex.c
index d8c482519909ff334ac5929565908232f541ac24..9fab715bd7429e87b2690000d49a69bbaea3785a 100644
(file)
--- a/
mutex.c
+++ b/
mutex.c
@@
-141,11
+141,15
@@
struct fio_mutex *fio_mutex_init(int value)
return NULL;
}
return NULL;
}
-static bool mutex_timed_out(struct time
val
*t, unsigned int msecs)
+static bool mutex_timed_out(struct time
spec
*t, unsigned int msecs)
{
{
- struct timeval now;
+ struct timeval tv;
+ struct timespec now;
+
+ gettimeofday(&tv, NULL);
+ now.tv_sec = tv.tv_sec;
+ now.tv_nsec = tv.tv_usec * 1000;
- gettimeofday(&now, NULL);
return mtime_since(t, &now) >= msecs;
}
return mtime_since(t, &now) >= msecs;
}
@@
-177,7
+181,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);
* way too early, double check.
*/
ret = pthread_cond_timedwait(&mutex->cond, &mutex->lock, &t);
- if (ret == ETIMEDOUT && !mutex_timed_out(&t
v_s
, msecs))
+ if (ret == ETIMEDOUT && !mutex_timed_out(&t, msecs))
ret = 0;
}
mutex->waiters--;
ret = 0;
}
mutex->waiters--;