From 2222f419da99ef85d49ab04e7e15b76612f4d054 Mon Sep 17 00:00:00 2001 From: wm4 Date: Sat, 13 Jun 2015 23:55:21 +0200 Subject: tls_gnutls: fix hang on disconnection GNUTLS_SHUT_RDWR means GnuTLS will keep waiting for the server's termination reply. But since we don't shutdown the TCP connection at this point yet, GnuTLS will just keep skipping actual data from the server, which basically is perceived as hang. Use GNUTLS_SHUT_WR instead, which doesn't have this problem. Signed-off-by: Michael Niedermayer --- libavformat/tls_gnutls.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libavformat/tls_gnutls.c') diff --git a/libavformat/tls_gnutls.c b/libavformat/tls_gnutls.c index 942ece97ed..6388f37a8e 100644 --- a/libavformat/tls_gnutls.c +++ b/libavformat/tls_gnutls.c @@ -87,7 +87,7 @@ static int tls_close(URLContext *h) { TLSContext *c = h->priv_data; if (c->need_shutdown) - gnutls_bye(c->session, GNUTLS_SHUT_RDWR); + gnutls_bye(c->session, GNUTLS_SHUT_WR); if (c->session) gnutls_deinit(c->session); if (c->cred) -- cgit v1.2.3