From: Stefan Eissing Date: Thu, 4 Sep 2025 10:00:48 +0000 (+0200) Subject: websocket: reset upload_done when sending data X-Git-Tag: curl-8_16_0~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5fa4fb0c1334c000f7d5769551bfb64727fee62e;p=thirdparty%2Fcurl.git websocket: reset upload_done when sending data Sending websocket data did not clear the "upload_done" flag of the initial HTTP Upgrade request, leading to KEEP_SEND never be cleared. This caused the socket to be polled for INOUT after all the websocket data had been sent. A busy loop. Closes #18476 --- diff --git a/lib/ws.c b/lib/ws.c index 6070cd6d0d..a73ab61b0b 100644 --- a/lib/ws.c +++ b/lib/ws.c @@ -1200,6 +1200,7 @@ CURLcode Curl_ws_accept(struct Curl_easy *data, /* start over with sending */ data->req.eos_read = FALSE; + data->req.upload_done = FALSE; k->keepon |= KEEP_SEND; }