win32_async_check() doesn't loop enough.
Robert May [Sun, 3 Feb 2008 13:11:57 +0000 (18:11 +0530)]
From: "Robert May" <robertmay@cpan.org>
Message-ID: <54bdc7510802022341r3654d32dva26ef04bd9fa04b7@mail.gmail.com>

p4raw-id: //depot/perl@33254

win32/win32.c

index d459c94..7f98f60 100644 (file)
@@ -2159,7 +2159,7 @@ win32_msgwait(pTHX_ DWORD count, LPHANDLE handles, DWORD timeout, LPDWORD result
        timeout += ticks;
     }
     while (1) {
-       DWORD result = MsgWaitForMultipleObjects(count,handles,FALSE,timeout-ticks, QS_POSTMESSAGE|QS_TIMER);
+       DWORD result = MsgWaitForMultipleObjects(count,handles,FALSE,timeout-ticks, QS_POSTMESSAGE|QS_TIMER|QS_SENDMESSAGE);
        if (resultp)
           *resultp = result;
        if (result == WAIT_TIMEOUT) {