On Thu, 26 Jun 2003 15:59, Troy Rollo wrote:
With the condition as (count > MAXIMUM_WAIT_OBJECTS || (count <= 0 && !timeout)), wine's behaviour mirrors that of Win2k, at least for the WaitForMultipleObjectsEx(0, 0, INFINITE, QS_ALLEVENTS, 0) case.
While I somehow got MsgWaitForMultipleObjectsEx mixed up with WaitForMultiple ObjectsEx (too many MSDN windows open), an appropriate test with WaitForMultipleObjectsEx(0, NULL, FALSE, INFINITE, FALSE) gives the same result, but...
It now occurs to me that this fix not entirely right either - or at least it doesn't avoid creating another bug, since Sleep(INFINITE) is valid, and Sleep goes through WaitForMultipleObjectsEx.
However, since WaitForMultipleObjectsEx(0, NULL, FALSE, INFINITE, FALSE) returns an error on Win2k, this use of WaitForMultipleObjectsEx to implement Sleep must be wrong.