WaitForSingleObject für Thread-Objekt funktioniert nicht in DLL entladen

Ich bin auf ein unerwartetes Verhalten des Windows-Thread-Mechanismus beim Entladen der DLL gestoßen. A habe eine Packung Worker-Thread-Objekte und ich versuche, sie freundlich zu beenden, wenn DLL entladen wird (über DllMain DLL_PROCESS_DETACH). Der Code ist sehr einfach (ich sende ein Ereignis, um die Warteschleife des Threads zu beenden):

WaitForSingleObject( ThrHandle, INFINITE );
CloseHandle( ThrHandle );

Yet das WaitForSingleObject hängt die ganze Sache. Es funktioniert einwandfrei, wenn ich es vor dem Entladen der DLL durchführe. Wie kann dieses Verhalten behoben werden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage