Re[3]: std::thread, std::condition_variable и dll
От: Videoman Россия https://hts.tv/
Дата: 14.06.21 09:43
Оценка:
Здравствуйте, Doom100500, Вы писали:

D>Был бы deadlock, было бы понятно, но поток (std::thread) завершается молча, и создаётся впечатление, что всё работает правильно. Только после добавления диагностических логов возник вопрос.


Ну я подебажил ваш код. Так и есть, после выхода из main процесса начинает разрушаться CRT и там уже зовется DllMain из него. Т.е. ресурсы уже начинают отлетать потихоньку, а вы ими продолжаете пользоваться в DLL, тем же std::out и т.д. Все что нужно сделать это вызвать release для w перед выходом из main и все начинает работать как вы хотите.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.