summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-05-11 23:44:36 +0200
committerDiogo Franco (Kovensky) <diogomfranco@gmail.com>2015-05-15 10:30:15 +0900
commit37ad3e79dd03cecc4be3a7341fdf69f96873d2eb (patch)
treeae9e6ec463c69918c334c637901427a94013c017 /player
parent328d0c7fc326abce5fc1783e74cdd082c87d4986 (diff)
downloadmpv-37ad3e79dd03cecc4be3a7341fdf69f96873d2eb.tar.bz2
mpv-37ad3e79dd03cecc4be3a7341fdf69f96873d2eb.tar.xz
threads: use utility+POSIX functions instead of weird wrappers
There is not much of a reason to have these wrappers around. Use POSIX standard functions directly, and use a separate utility function to take care of the timespec calculations. (Course POSIX for using this weird format for time values.) (cherry picked from commit 92b9d75d7256be71d8c8b18438af9494b78f0e96)
Diffstat (limited to 'player')
-rw-r--r--player/client.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/player/client.c b/player/client.c
index 43c7c07c60..b6c3ade9ef 100644
--- a/player/client.c
+++ b/player/client.c
@@ -284,8 +284,10 @@ static int wait_wakeup(struct mpv_handle *ctx, int64_t end)
int r = 0;
pthread_mutex_unlock(&ctx->lock);
pthread_mutex_lock(&ctx->wakeup_lock);
- if (!ctx->need_wakeup)
- r = mpthread_cond_timedwait(&ctx->wakeup, &ctx->wakeup_lock, end);
+ if (!ctx->need_wakeup) {
+ struct timespec ts = mp_time_us_to_timespec(end);
+ r = pthread_cond_timedwait(&ctx->wakeup, &ctx->wakeup_lock, &ts);
+ }
if (r == 0)
ctx->need_wakeup = false;
pthread_mutex_unlock(&ctx->wakeup_lock);