This is the mail archive of the
pthreads-win32@sources.redhat.com
mailing list for the pthreas-win32 project.
How is pthread_self() implemented?
- From: Chris Seaton <chris at chrisseaton dot com>
- To: pthreads-win32 at sources dot redhat dot com
- Date: Sun, 31 Aug 2003 18:52:27 +0100
- Subject: How is pthread_self() implemented?
I'm writing my own (very lightweight) threading library for Windows and
POSIX threads. There are reasons why I can't use pthreads-win32, but
they aren't important here. I'm currently implementing a ThisThread()
routine. With POSIX threads I simply call pthread_self(), but I'm stuck
for Windows.
Originally I called GetCurrentThread(), but that returns a pseudo
handle, so I call DuplicateHandle(), as this pthreads-win32 library
uses.
However, DuplicateHandle() creates a new handle every time it is called,
so I can't compare them. Basically
ThisThread() != ThisThread()
How does the pthreads-win32 library solve this problem?
--
Chris Seaton
chris@chrisseaton.com
http://www.chrisseaton.com/