when an error occurs, *len isn't set to 0 (as is done for all other targets).

looked over all the other send/recv calls in the windows code, i
didn't notice others that were missing.

(found it doing non-blocking I/O when the receiver wasn't reading its
data and the socket buffer filled.)


cgd
Only in apr-1.2.1: config.nice
diff -upr apr-1.2.1-clean/network_io/win32/sendrecv.c 
apr-1.2.1/network_io/win32/sendrecv.c
--- apr-1.2.1-clean/network_io/win32/sendrecv.c 2005-06-12 10:54:25.000000000 
-0700
+++ apr-1.2.1/network_io/win32/sendrecv.c       2005-09-28 12:22:08.000000000 
-0700
@@ -55,6 +55,7 @@ APR_DECLARE(apr_status_t) apr_socket_sen
 #endif
     if (rv == SOCKET_ERROR) {
         lasterror = apr_get_netos_error();
+        *len = 0;
         return lasterror;
     }
 

Reply via email to