Race condition in TemrinateThread

Geoffrey Hausheer i8e7fkwmsl1 at phracturedblue.com
Tue Apr 2 19:50:06 CST 2002


I've discovered a race condition in TerminateThread.  Basically, if a thread 
is terminated before it has fully started, than the thread leaves a wine 
process around when the process exits.  I wouldn't have figured this out if 
it weren't for the OpenThread code which was just added (it slowed down my 
test enough that with '--winver win2000' the thread was able to start, 
whereas with '--winver win98' it couldn't (due to testing OpenThread before 
calling TerminateThread when in win2k mode).

It should be duplicatable by simply calling
thread=CreateThread();
TerminateThread(thread,0);

with no wait between them.
Anyhow, I really have no idea how to locate this, but I'd be happy to try if 
someone can give me a hand.

Thanks,
.Geoff



More information about the wine-devel mailing list