From aa93eb25839d662dc2503c164bb93756c238f660 Mon Sep 17 00:00:00 2001 From: Colin Finck Date: Wed, 22 Apr 2020 12:37:49 +0200 Subject: [PATCH] win: remove dep on GetQueuedCompletionStatusEx Libuv already works without that API since commit 153ea114ff but still had it as a hard requirement in the import table. This code uses the `pGetQueuedCompletionStatusEx` function pointer instead, hence it also works on systems that don't export `GetQueuedCompletionStatusEx`. This simple fix improves compatibility of libuv with ReactOS and Windows XP (latter using Vista+ compatibility libraries like https://github.com/MyTDT-Mysoft/DllCompat) PR-URL: https://github.com/libuv/libuv/pull/2800 Reviewed-By: Bartosz Sosnowski Reviewed-By: Ben Noordhuis --- src/win/core.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/win/core.c b/src/win/core.c index 6ded90cd..9974a115 100644 --- a/src/win/core.c +++ b/src/win/core.c @@ -449,12 +449,12 @@ static void uv__poll(uv_loop_t* loop, DWORD timeout) { timeout_time = loop->time + timeout; for (repeat = 0; ; repeat++) { - success = GetQueuedCompletionStatusEx(loop->iocp, - overlappeds, - ARRAY_SIZE(overlappeds), - &count, - timeout, - FALSE); + success = pGetQueuedCompletionStatusEx(loop->iocp, + overlappeds, + ARRAY_SIZE(overlappeds), + &count, + timeout, + FALSE); if (success) { for (i = 0; i < count; i++) {