c11/threads: rework Windows thrd_current() comment
authorEmil Velikov <emil.velikov@collabora.com>
Sat, 29 Apr 2017 13:46:02 +0000 (14:46 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Thu, 4 May 2017 17:00:23 +0000 (18:00 +0100)
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 <emil.velikov@collabora.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com> (v1)
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
include/c11/threads_win32.h

index d017c31c34e98e660a8a73dd9f1ee8e73f4b2f35..af7df4b9ef5759dcb85ef880fa5f2553597169e0 100644 (file)
@@ -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