{"author":"Viktor Szakats","author_email":"commit@vsz.me","author_time":1754075392,"commit_time":1758324515,"committer":"Viktor Szakats","committer_email":"commit@vsz.me","hash":"1c49f2f26d0f200bb9de61f795f06a1bc56845e9","message":"windows: replace `_beginthreadex()` with `CreateThread()`\n\nReplace `_beginthreadex()` C runtime calls with native win32 API\n`CreateThread()`. The latter was already used in `src/tool_doswin.c`\nand in UWP and Windows CE builds before this patch. After this patch\nall Windows flavors use it. To drop PP logic and simplify code.\n\nWhile working on this it turned out that `src/tool_doswin.c` calls\n`TerminateThread()`, which isn't recommended by the documentation,\nexcept for \"the most extreme cases\". This patch makes no attempt\nto change that code.\nRef: 9a2663322c330ff11275abafd612e9c99407a94a #17572\nRef: https://learn.microsoft.com/windows/win32/api/processthreadsapi/nf-processthreadsapi-terminatethread\n\nAlso:\n- use `WaitForSingleObjectEx()` on all desktop Windows.\n  Ref: 4be80d5109a340973dc6ce0221ec5c5761587df0\n  Ref: https://sourceforge.net/p/curl/feature-requests/82/\n  Ref: https://learn.microsoft.com/windows/win32/api/synchapi/nf-synchapi-waitforsingleobjectex\n- tests: drop redundant casts.\n- lib3207: fix to not rely on thread macros when building without thread\n  support.\n\nAssisted-by: Jay Satiro\nAssisted-by: Marcel Raad\nAssisted-by: Michał Petryka\nFollow-up to 38029101e2d78ba125732b3bab6ec267b80a0e72 #11625\n\nCloses #18451\n","parents":["8d004781a577fc2fae72873c4a45b2fb3f366d98"],"tree_hash":"ded8591c37e5d64217a5dfa233f01ae8c42ef7f6"}