aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/udp.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-05-25 00:59:18 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2016-05-25 01:39:23 +0200
commit9591ca704b0e64af5f52471349f800043ec81199 (patch)
treec2ce37da2b071e2fe119496f39b31d4c444909db /libavformat/udp.c
parent9b7a8bddac52bd05dddb28afd4dff92739946d3b (diff)
downloadffmpeg-9591ca704b0e64af5f52471349f800043ec81199.tar.gz
avformat/udp: Close the socket after destroying the thread using the socket
for send() this cannot work and even for recv() it feels very wrong and hackish Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/udp.c')
-rw-r--r--libavformat/udp.c2
1 files changed, 1 insertions, 1 deletions
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;
}