diff options
Diffstat (limited to 'include/c11/threads_win32.h')
-rw-r--r-- | include/c11/threads_win32.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/include/c11/threads_win32.h b/include/c11/threads_win32.h index d017c31c34e..af7df4b9ef5 100644 --- a/include/c11/threads_win32.h +++ b/include/c11/threads_win32.h @@ -502,9 +502,13 @@ thrd_current(void) HANDLE hCurrentThread; BOOL bRet; - /* GetCurrentThread() returns a pseudo-handle, which is useless. We need - * to call DuplicateHandle to get a real handle. However the handle value - * will not match the one returned by thread_create. + /* GetCurrentThread() returns a pseudo-handle, which we need + * to pass to DuplicateHandle(). Only the resulting handle can be used + * from other threads. + * + * Note that neither handle can be compared to the one by thread_create. + * Only the thread IDs - as returned by GetThreadId() and GetCurrentThreadId() + * can be compared directly. * * Other potential solutions would be: * - define thrd_t as a thread Ids, but this would mean we'd need to OpenThread for many operations |