diff --git a/CHANGES b/CHANGES index b5933c1afa..3d64c12a2d 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +4519. [port] win32: handle ERROR_MORE_DATA. [RT #43534] + 4516. [bug] isc_socketmgr_renderjson was missing from the windows build. [RT #43602] diff --git a/lib/isc/win32/socket.c b/lib/isc/win32/socket.c index 3e958bee4f..b358d98c8c 100644 --- a/lib/isc/win32/socket.c +++ b/lib/isc/win32/socket.c @@ -2489,14 +2489,16 @@ SocketIoThread(LPVOID ThreadContext) { request = lpo->request_type; - errstatus = 0; - if (!bSuccess) { + if (!bSuccess) + errstatus = GetLastError(); + else + errstatus = 0; + if (!bSuccess && errstatus != ERROR_MORE_DATA) { isc_result_t isc_result; /* * Did the I/O operation complete? */ - errstatus = GetLastError(); isc_result = isc__errno2result(errstatus); LOCK(&sock->lock);