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

Reply via email to