summaryrefslogtreecommitdiff
path: root/include/http_connection.h
diff options
context:
space:
mode:
authorRyan Bloom <rbb@apache.org>2001-11-10 21:07:13 +0000
committerRyan Bloom <rbb@apache.org>2001-11-10 21:07:13 +0000
commit383606d5182dc3d12bd2a8eca648b24db40abd8e (patch)
tree5d640ff72f0631aca21c3b194b85594d01a6a42d /include/http_connection.h
parenta0545d2647e0afad247f74e570b729c8e81ad3c9 (diff)
downloadhttpd-383606d5182dc3d12bd2a8eca648b24db40abd8e.tar.gz
Fix the Windows MPM. Windows doesn't always use the lingering close
function. If it can re-use the socket, we are better off not calling the function. To fix this, we re-expose the lingering_close function, and we allow the MPM to remove the cleanup. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91839 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'include/http_connection.h')
-rw-r--r--include/http_connection.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/http_connection.h b/include/http_connection.h
index 4abad5ce08..ae00cfd7fa 100644
--- a/include/http_connection.h
+++ b/include/http_connection.h
@@ -88,6 +88,22 @@ AP_CORE_DECLARE(void) ap_process_connection(conn_rec *);
AP_CORE_DECLARE(void) ap_flush_conn(conn_rec *c);
+/**
+ * This function is responsible for the following cases:
+ * <pre>
+ * we now proceed to read from the client until we get EOF, or until
+ * MAX_SECS_TO_LINGER has passed. the reasons for doing this are
+ * documented in a draft:
+ *
+ * http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-connection-00.txt
+ *
+ * in a nutshell -- if we don't make this effort we risk causing
+ * TCP RST packets to be sent which can tear down a connection before
+ * all the response data has been sent to the client.
+ * </pre>
+ * @param c The connection we are closing
+ */
+apr_status_t ap_lingering_close(void *dummy);
#endif
/* Hooks */