From: Daniel Stenberg Date: Fri, 10 Oct 2025 07:53:32 +0000 (+0200) Subject: doswin: CloseHandle the thread on shutdown X-Git-Tag: rc-8_17_0-2~112 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=142d61a0ee71b2c58f8f03495fb43d83b478db64;p=thirdparty%2Fcurl.git doswin: CloseHandle the thread on shutdown As this is in the tool shutdown the impact of it was nothing. Also, move two global variables to local. Follow-up to 9a2663322c330ff11275abafd612e9c Reported-by: Joshua Rogers Closes #18996 --- diff --git a/src/tool_doswin.c b/src/tool_doswin.c index 5cf58405b3..8e9e5f023d 100644 --- a/src/tool_doswin.c +++ b/src/tool_doswin.c @@ -809,9 +809,6 @@ ThreadCleanup: } /* The background thread that reads and buffers the true stdin. */ -static HANDLE stdin_thread = NULL; -static curl_socket_t socket_r = CURL_SOCKET_BAD; - curl_socket_t win32_stdin_read_thread(void) { int result; @@ -819,6 +816,8 @@ curl_socket_t win32_stdin_read_thread(void) int rc = 0, socksize = 0; struct win_thread_data *tdata = NULL; SOCKADDR_IN selfaddr; + static HANDLE stdin_thread = NULL; + static curl_socket_t socket_r = CURL_SOCKET_BAD; if(socket_r != CURL_SOCKET_BAD) { assert(stdin_thread != NULL); @@ -930,6 +929,7 @@ curl_socket_t win32_stdin_read_thread(void) if(stdin_thread) { TerminateThread(stdin_thread, 1); + CloseHandle(stdin_thread); stdin_thread = NULL; }