From: Emil Velikov Date: Sat, 29 Apr 2017 13:46:02 +0000 (+0100) Subject: c11/threads: rework Windows thrd_current() comment X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c9c8e1c84d776c23e0ea3e051a97a9c7f7d80c15;p=mesa.git c11/threads: rework Windows thrd_current() comment Drop the misleading "will not match the one returned by thread_create" hunk and provide more clarity as to what/why GetCurrentThread() isn't the solution we're looking for. v2: Places brackets after function names (Eric) Signed-off-by: Emil Velikov Reviewed-by: Jose Fonseca (v1) Reviewed-by: Eric Engestrom --- 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