Mesa (master): c11/threads: rework Windows thrd_current() comment

Emil Velikov evelikov at kemper.freedesktop.org
Thu May 4 17:13:56 UTC 2017


Module: Mesa
Branch: master
Commit: c9c8e1c84d776c23e0ea3e051a97a9c7f7d80c15
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c9c8e1c84d776c23e0ea3e051a97a9c7f7d80c15

Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Sat Apr 29 14:46:02 2017 +0100

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 <emil.velikov at collabora.com>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com> (v1)
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>

---

 include/c11/threads_win32.h | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/include/c11/threads_win32.h b/include/c11/threads_win32.h
index d017c31c34..af7df4b9ef 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




More information about the mesa-commit mailing list