WaitForSingleObject для объекта потока не работает при выгрузке DLL

Я наткнулся на неожиданное поведение механизма потоков Windows, когда DLL выгружается. У меня есть пакет объектов рабочих потоков, и я стараюсь завершить их, когда DLL выгружается (через DllMain DLL_PROCESS_DETACH). Код очень прост (я отправляю событие, чтобы завершить цикл ожидания потока):

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

Все же WaitForSingleObject вешает все это. Это работает нормально, если я выполню это до того, как DLL будет выгружена. Как это поведение можно исправить?

Ответы на вопрос(1)

Ваш ответ на вопрос