From c8de9bbc2ddb2c1f01e4c2ad501bd9b951ab6093 Mon Sep 17 00:00:00 2001 From: Andy Green Date: Wed, 6 Nov 2019 21:34:14 +0000 Subject: [PATCH] ah: drop on LONG_POLL and allow dropping client ah early --- lib/roles/h2/http2.c | 2 ++ lib/roles/http/client/client-http.c | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/roles/h2/http2.c b/lib/roles/h2/http2.c index bd7662f56..6beef3e0b 100644 --- a/lib/roles/h2/http2.c +++ b/lib/roles/h2/http2.c @@ -2532,6 +2532,8 @@ lws_h2_client_stream_long_poll_rxonly(struct lws *wsi) wsi->h2.long_poll = 1; wsi->h2.send_END_STREAM = 1; + lws_header_table_detach(wsi, 0); + lws_callback_on_writable(wsi); return 0; diff --git a/lib/roles/http/client/client-http.c b/lib/roles/http/client/client-http.c index b1b8ac1a2..fc7e20c15 100644 --- a/lib/roles/http/client/client-http.c +++ b/lib/roles/http/client/client-http.c @@ -637,10 +637,11 @@ lws_http_transaction_completed_client(struct lws *wsi) n = _lws_generic_transaction_completed_active_conn(wsi); - _lws_header_table_reset(wsi->http.ah); + if (wsi->http.ah) + _lws_header_table_reset(wsi->http.ah); wsi->http.rx_content_length = 0; - if (!n) + if (!n || !wsi->http.ah) return 0; /*