summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/udp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libavformat/udp.c b/libavformat/udp.c
index a88fbe48a5..184ab81884 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -442,8 +442,12 @@ static void *circular_buffer_task( void *_URLContext)
int old_cancelstate;
pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &old_cancelstate);
- ff_socket_nonblock(s->udp_fd, 0);
pthread_mutex_lock(&s->mutex);
+ if (ff_socket_nonblock(s->udp_fd, 0) < 0) {
+ av_log(h, AV_LOG_ERROR, "Failed to set blocking mode");
+ s->circular_buffer_error = AVERROR(EIO);
+ goto end;
+ }
while(1) {
int len;