diff options
author | wm4 <nfxjfg@googlemail.com> | 2015-06-14 18:12:53 +0300 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2015-06-14 19:50:03 +0300 |
commit | 74ea1167d91ccb2e1f2943efa030f2c278b598be (patch) | |
tree | 8bb5bdd8026ea5ec2019cc57a56c8d225901605a /libavformat | |
parent | 3b73d5c942f44b37f0e44276ebcfd66c8b12c02d (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>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/tls_gnutls.c | 2 |
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) |