У меня есть приложение, которое второй поток вызывает GetMessage()
в цикле. В какой-то момент первый поток понимает, что пользователь хочет выйти из приложения и уведомляет второй поток, который он должен прекратить. Когда второй поток застрял на GetMessage()
, программа никогда не завершает работу. Есть ли способ ждать сообщений с таймаутом?
Я также открываю другие идеи.
EDIT: (дополнительные пояснения)
Второй поток выполняет этот фрагмент кода:
while ( !m_quit && GetMessage( &msg, NULL, 0, 0 ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
Первый поток устанавливает m_quit
в true.