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;
}