]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
4519. [port] win32: handle ERROR_MORE_DATA. [RT #43534]
authorMark Andrews <marka@isc.org>
Tue, 29 Nov 2016 00:28:26 +0000 (11:28 +1100)
committerMark Andrews <marka@isc.org>
Tue, 29 Nov 2016 00:28:26 +0000 (11:28 +1100)
CHANGES
lib/isc/win32/socket.c

diff --git a/CHANGES b/CHANGES
index 0e18b48abe451b1cc55cc9938a92ddb1376ab1d0..dda1f6c315773b0247bc8c68c1cd88cfc70533f3 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+4519.  [port]          win32: handle ERROR_MORE_DATA. [RT #43534]
+
 4518.  [func]          The "print-time" option in the logging configuration
                        can now take arguments "local", "iso8601" or
                        "iso8601-utc" to indicate the format in which the
index ca032d2210d8a4e680f02545649663497feba3c5..133f31a84e6fa168a1e35494a8ed5d4565c6836f 100644 (file)
@@ -2515,14 +2515,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);