From 55a7c6a0f4ebb7e080b7f0d511d0826094a0863c Mon Sep 17 00:00:00 2001 From: Andy Green Date: Sat, 16 Oct 2021 05:28:37 +0100 Subject: [PATCH] http: sse: check POLLIN during DOING_TRANSACTION When the client goes away, on some platforms all we get is POLLIN revent stuck on... we have to read it to find out a zero length result and understand it's gone. Add SSE mode's DOING_TRANSACTION to the list of states we will read for. --- lib/roles/h1/ops-h1.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/roles/h1/ops-h1.c b/lib/roles/h1/ops-h1.c index 1b5ea6653..4590a4975 100644 --- a/lib/roles/h1/ops-h1.c +++ b/lib/roles/h1/ops-h1.c @@ -367,6 +367,7 @@ lws_h1_server_socket_service(struct lws *wsi, struct lws_pollfd *pollfd) if ((lwsi_state(wsi) == LRS_ESTABLISHED || lwsi_state(wsi) == LRS_ISSUING_FILE || lwsi_state(wsi) == LRS_HEADERS || + lwsi_state(wsi) == LRS_DOING_TRANSACTION || /* at least, SSE */ lwsi_state(wsi) == LRS_DISCARD_BODY || lwsi_state(wsi) == LRS_BODY)) {