only sends() were ever blocking. That any network i/o was ever blocking
could be considered a bug in Apache.
This patch seems to work around a bug in WinXP that causes network write
data corruption. The bug appears to be tickled by the combined use of
WSADuplicateSocket and blocking sends(). Allan Edwards is submitting a
bug report to Microsoft.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@93353
13f79535-47bb-0310-9956-
ffa450edef68
Changes with Apache 1.3.24
-
+ *) Win32: Work around a bug in Windows XP that caused data
+ corruption on writes to the network. The WinXP bug
+ is tickled by the combined use of WSADuplicateSocket
+ and blocking send() calls.
+ [Bill Stoddard, Bill Rowe, Allan Edwards, Szabolcs Szakacsits]
+
*) Add 'IgnoreCase' keyword to the IndexOptions directive;
if active, upper- and lower-case letters are insignificant
in ordering. In other words, all A* and a* files will be
int rv;
int retry;
- if (!(tv.tv_sec = ap_check_alarm()))
- return (send(sock, buf, len, flags));
+ tv.tv_sec = ap_check_alarm();
rv = ioctlsocket(sock, FIONBIO, (u_long*)&iostate);
iostate = 0;
int rv;
int retry;
- if (!(tv.tv_sec = ap_check_alarm()))
- return (recv(sock, buf, len, flags));
+ tv.tv_sec = ap_check_alarm();
rv = ioctlsocket(sock, FIONBIO, (u_long*)&iostate);
iostate = 0;