From: Conor McCarthy cmccarthy@codeweavers.com
Windows behaviour is to process items until cleared. --- dlls/mfplat/tests/mfplat.c | 3 +-- dlls/rtworkq/queue.c | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c index 554d457dd0d..5abd45918a4 100644 --- a/dlls/mfplat/tests/mfplat.c +++ b/dlls/mfplat/tests/mfplat.c @@ -6733,9 +6733,8 @@ static void test_queue_unlock_with_pending(void) MFUnlockWorkQueue(queue);
hr = WaitForSingleObject(callback0->event, 1000); - ok(hr == WAIT_OBJECT_0 || hr == WAIT_TIMEOUT, "Failed to wait for event, hr %#lx.\n", hr); + ok(hr == WAIT_OBJECT_0, "Failed to wait for event, hr %#lx.\n", hr); hr = WaitForSingleObject(callback1->event, 1000); - todo_wine ok(hr == WAIT_OBJECT_0, "Failed to wait for event, hr %#lx.\n", hr);
hr = MFShutdown(); diff --git a/dlls/rtworkq/queue.c b/dlls/rtworkq/queue.c index 9046a70b359..8440d16aa98 100644 --- a/dlls/rtworkq/queue.c +++ b/dlls/rtworkq/queue.c @@ -354,7 +354,7 @@ static BOOL pool_queue_shutdown(struct queue *queue) if (!queue->pool) return FALSE;
- CloseThreadpoolCleanupGroupMembers(queue->envs[0].CleanupGroup, TRUE, NULL); + CloseThreadpoolCleanupGroupMembers(queue->envs[0].CleanupGroup, FALSE, NULL); CloseThreadpool(queue->pool); queue->pool = NULL;