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?