Apparently MsgWaitForMultipleObjects doesn't always return the

values one might expect, which means that GetMessage() was
occasionally blocking the process. That appears to be the last of
the annoying data loss issues, so I think the Windows serial back
end actually looks vaguely reliable now. Phew.

[originally from svn r6830]
This commit is contained in:
Simon Tatham 2006-08-28 19:09:28 +00:00
Родитель c3d7d326b5
Коммит 4c460326d9
1 изменённых файлов: 2 добавлений и 4 удалений

Просмотреть файл

@ -836,9 +836,7 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)
sfree(handles);
if (GetMessage(&msg, NULL, 0, 0) != 1)
break;
do {
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
if (msg.message == WM_QUIT)
goto finished; /* two-level break */
@ -852,7 +850,7 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)
*/
if (must_close_session)
close_session();
} while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE));
}
/* The messages seem unreliable; especially if we're being tricky */
term_set_focus(term, GetForegroundWindow() == hwnd);