udp: fix occasional crash on shutdown

Wait until the thread is down before destroying the fifo

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Eric Petit 2012-06-27 15:09:40 +02:00 committed by Michael Niedermayer
parent 54942c2383
commit f1136b2b10

View File

@ -656,7 +656,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);
closesocket(s->udp_fd);
av_fifo_free(s->fifo);
#if HAVE_PTHREAD_CANCEL
if (s->thread_started) {
pthread_cancel(s->circular_buffer_thread);
@ -668,6 +667,7 @@ static int udp_close(URLContext *h)
pthread_mutex_destroy(&s->mutex);
pthread_cond_destroy(&s->cond);
#endif
av_fifo_free(s->fifo);
return 0;
}