You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by bj...@apache.org on 2006/01/05 04:09:40 UTC

svn commit: r366064 - /apr/apr/branches/1.2.x/network_io/os2/sendrecv.c

Author: bjh
Date: Wed Jan  4 19:09:32 2006
New Revision: 366064

URL: http://svn.apache.org/viewcvs?rev=366064&view=rev
Log:
The OS/2 send() function returns EINVAL if the data size is > 64k so limit the
send size to 64k. As any call to apr_socket_send() must handle partial sends
anyway, this will be treated just like any other partial send.

This was occurring when svnserve was sending a large file.

Backport from trunk of r366063.


Modified:
    apr/apr/branches/1.2.x/network_io/os2/sendrecv.c

Modified: apr/apr/branches/1.2.x/network_io/os2/sendrecv.c
URL: http://svn.apache.org/viewcvs/apr/apr/branches/1.2.x/network_io/os2/sendrecv.c?rev=366064&r1=366063&r2=366064&view=diff
==============================================================================
--- apr/apr/branches/1.2.x/network_io/os2/sendrecv.c (original)
+++ apr/apr/branches/1.2.x/network_io/os2/sendrecv.c Wed Jan  4 19:09:32 2006
@@ -27,6 +27,10 @@
     apr_ssize_t rv;
     int fds, err = 0;
 
+    if (*len > 65536) {
+        *len = 65536;
+    }
+
     do {
         if (!sock->nonblock || err == SOCEWOULDBLOCK) {
             fds = sock->socketdes;