Tengo una aplicación cuyo segundo hilo llama a GetMessage()
en un bucle. En algún momento, el primer hilo se da cuenta de que el usuario desea salir de la aplicación y notifica al segundo hilo que debe terminar. Como el segundo hilo está atascado en GetMessage()
, el programa nunca se cierra. ¿Hay alguna forma de esperar mensajes con un tiempo de espera excedido? Estoy abierto a otras ideas también.GetMessage con un tiempo de espera
EDIT: (explicaciones adicionales)
El segundo hilo corre que fragmento de código:
while (!m_quit && GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
El primer hilo establece m_quit
a verdadero.
Espera ... ¿qué hilo está en espera esperando 'GetMessage()'? ¿El primer hilo, el segundo hilo o ambos? – templatetypedef
El segundo subproceso ejecuta el bucle GetMessage. ¿Debo publicar algún código? – qdii
Código siempre ayuda. Estoy confundido porque tu pregunta parece que ambos hilos están bloqueados. ¿No puedes enviar un mensaje personalizado que diga "debes cerrar ahora?" – templatetypedef