diff --git a/libavformat/udp.c b/libavformat/udp.c index 58e7498845..648efc2e57 100644 --- a/libavformat/udp.c +++ b/libavformat/udp.c @@ -1109,7 +1109,6 @@ static int udp_close(URLContext *h) if (s->is_multicast && (h->flags & AVIO_FLAG_READ)) udp_leave_multicast_group(s->udp_fd, (struct sockaddr *)&s->dest_addr,(struct sockaddr *)&s->local_addr_storage); - closesocket(s->udp_fd); #if HAVE_PTHREAD_CANCEL if (s->thread_started) { int ret; @@ -1123,6 +1122,7 @@ static int udp_close(URLContext *h) pthread_cond_destroy(&s->cond); } #endif + closesocket(s->udp_fd); av_fifo_freep(&s->fifo); return 0; }