You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2004/11/11 11:43:27 UTC
DO NOT REPLY [Bug 32177] New: -
Apache2 missing SendBufferSize implementation on Windows porting
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=32177>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=32177
Apache2 missing SendBufferSize implementation on Windows porting
Summary: Apache2 missing SendBufferSize implementation on Windows
porting
Product: Apache httpd-2.0
Version: 2.0.52
Platform: PC
OS/Version: Windows NT/2K
Status: NEW
Severity: Enhancement
Priority: Other
Component: Core
AssignedTo: bugs@httpd.apache.org
ReportedBy: sgobbi@datamanagement.it
Apache2 on Windows doesn't support customizing SendBufferSize in httpd.conf :
it always use default operating system (4KB) :
- setting "SendBufferSize 511" it errors correctly '>>> SendBufferSize must be
>= 512 bytes, or 0 for system default.'
- setting "SendBufferSize" above 512 it errors '>>> [Thu Nov 11 00:06:01 2004]
[warn] (22)Invalid argument: make_sock: failed to set SendBufferSize for
address 0.0.0.0:80, using default .'
Apache 1.3 on Windows manage SendBufferSize correctly : it's fundamental for
performance and scalability in competition.
In Apache2 source for Windown is not implemented as call to is missing
on .\srclib\apr\network_io\win32\sockopt.c function apr_socket_opt_set() API.
In .\srclib\apr\network_io\win32\sockopt.c function apr_socket_opt_set()
there's no 'case APR_SO_SNDBUF:' in switch struct of socket option.
In Apache1.3 source and in Apache2 source
(.\srclib\apr\network_io\unix\sockopt.c) there is the missing code to manage
setting SendBufferSize
"
...
case APR_SO_SNDBUF:
#ifdef SO_SNDBUF
if (apr_is_option_set(sock->netmask, APR_SO_SNDBUF) != on) {
if (setsockopt(sock->socketdes, SOL_SOCKET, SO_SNDBUF, (void *)&on,
sizeof(int)) == -1) {
return errno;
}
apr_set_option(&sock->netmask, APR_SO_SNDBUF, on);
}
#else
return APR_ENOTIMPL;
#endif
break;
.."
that can be included in Win32 porting. Personally I patched the win32 source,
recompiled with VisualC, released the new libapr.dll on an Apache HTTPD 2.0.52
binaries setup and customized "SendBufferSize 127000" successfully.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org