httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brad Nicholes" <>
Subject Re: Apache-1.3: question about mod_unique_id
Date Thu, 13 Sep 2001 21:06:21 GMT
   I checked with our CLIB people and they tell me that GetThreadID is *not* unique.  In other
words, if a thread is created, it is assigned an ID.  If that thread is terminated and a new
thread is created, the new thread may reuse the ID from the terminated thread.


>>> Thursday, September 13, 2001 2:57:08 PM >>>
Hi Bill,
> From: "dean gaudet" <>
> Sent: Thursday, September 13, 2001 11:45 AM

>> but on windows you'll need to use both getpid() and GetThreadID... i
>> think
>> it's called something similar to that.  it may be "Get Thread Handle" ...
>> what you really want is the thread * that create_thread returns, or you
>> could use the scoreboard slot, but i don't see an obvious way to get at
>> either.  also -- add an extra field to unique_id_rec for the thread id.

> I suggest we add a gettid() if one does not exist, via the os.h/os.c for
> MULTITHREAD platforms.  Anyone who wants to hack on this, just assume it's
> available, and where it isn't, someone needs to implement (I'm happy to do
> so for Win32.)
ok, sounds good. Then based on Dean's post and when Brad confirms that GetThreadID is always
unique for NetWare we have only to add:
#define gettid GetThreadID

and in mod_unique_id.c we can remove the error warning and then change:
    pid = getpid();
    pid = gettid();
    pid = getpid();

On the other side I saw that some other sources inside Apache use getpid(), is this not a
problem there too? And if only Win32 has an insufficient getpid() definition, it may be enough
to redefine this only there and leave all other as is...??


View raw message