I added something similar to the following to http_main.c
int timeout = 30;
if (setsockopt(s, SOL_TCP, TCP_DEFER_ACCEPT, &timeout, sizeof(int)) < 0) {
if (errno == ENOPROTOOPT) {
ap_log_error(APLOG_MARK, APLOG_INFO | APLOG_NOERRNO, server_conf,
"socket option TCP_DEFER_ACCEPT unkown on
this machine. Continuing.");
}
else {
ap_log_error(APLOG_MARK, APLOG_WARNING | APLOG_NOERRNO, server_conf,
"make_sock: for %s, setsockopt: (TCP_DEFER_ACCEPT)
failed", addr);
}
}
I can confirm that the option is being set by getsockopt(). I have tested
this in a lab environment and want to know if there are any gotcha's before I
try this in production.
Thanks.
--
Brian Akins
Systems Engineer III
CNN Internet Technologies