Browse Source

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>
tags/n2.8
wm4 Martin Storsjö 10 years ago
parent
commit
74ea1167d9
1 changed files with 1 additions and 1 deletions
  1. +1
    -1
      libavformat/tls_gnutls.c

+ 1
- 1
libavformat/tls_gnutls.c View File

@@ -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)


Loading…
Cancel
Save