Artifact 2d488019ca5adceb0961141c4f8e130fb30714b38a20478e4a841240c2436a97:
- File win/tclWinThrd.c — part of check-in [231c699c87] at 2023-03-28 18:58:30 on branch windows-thread-join — On Windows, join threads using Win32 HANDLEs. This works by extending the existing WinThread structure with the thread's HANDLE. The lifetime of the WinThread structure is until the thread terminates, for non-joinable threads, or until the thread is joined. For joinable threadsd, the thread's HANDLE remains open; Windows signals the HANDLE when the thread terminates. The thread's return value is transported using the standard Windows mechanism. A new thread-specific variable is introduced so a thread can find its WinThread structure. Initial threads (those not created via Tcl_CreateThread) receive a WinThread lazily, when Tcl_GetCurrentThread is called for the first time. Instead of using the Windows ThreadId as the Tcl threadId, the address of the WinThread is used. The least significant bit of the pointer value is used to distinguish joinable threads from non-joinable threads. (For future use or debugging, the Windows ThreadId is stored in the WinThread structure as well.) generic/tclThreadJoin.c is made redudant by this patch. (user: mchn1350 size: 28782)
A hex dump of this file is not available. Please download the raw binary file and generate a hex dump yourself.