summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwm4 <nfxjfg@googlemail.com>2015-06-14 17:12:53 +0200
committerMartin Storsjö <martin@martin.st>2015-06-14 19:50:03 +0300
commit74ea1167d91ccb2e1f2943efa030f2c278b598be (patch)
tree8bb5bdd8026ea5ec2019cc57a56c8d225901605a
parent3b73d5c942f44b37f0e44276ebcfd66c8b12c02d (diff)
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: Martin Storsjö <martin@martin.st>
-rw-r--r--libavformat/tls_gnutls.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/tls_gnutls.c b/libavformat/tls_gnutls.c
index 0fade36ed6..a5d7e890ab 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)