summaryrefslogtreecommitdiff
path: root/libavformat/udp.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/udp.c')
-rw-r--r--libavformat/udp.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libavformat/udp.c b/libavformat/udp.c
index f5f636e1af..7e59d51cc6 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -978,9 +978,10 @@ static int udp_read(URLContext *h, uint8_t *buf, int size)
int64_t t = av_gettime() + 100000;
struct timespec tv = { .tv_sec = t / 1000000,
.tv_nsec = (t % 1000000) * 1000 };
- if (pthread_cond_timedwait(&s->cond, &s->mutex, &tv) < 0) {
+ int err = pthread_cond_timedwait(&s->cond, &s->mutex, &tv);
+ if (err) {
pthread_mutex_unlock(&s->mutex);
- return AVERROR(errno == ETIMEDOUT ? EAGAIN : errno);
+ return AVERROR(err == ETIMEDOUT ? EAGAIN : err);
}
nonblock = 1;
}