I finally had time to review this patch, and I have some comments.
> Log: > This patch restores most of Ryan's patch (11/12/2001) to remove the > client_socket from the conn_rec. Diffs from Ryan's patch include: > > - rename the create_connection hook to install_transport_filters > - move the point of invocation of the hook till after the call to > after ap_update_vhost_given_ip to enable the hook to use vhost > config info in its decision making. > <snipped for brevity> > -AP_CORE_DECLARE(void) ap_process_connection(conn_rec *c) > +AP_CORE_DECLARE(void) ap_process_connection(conn_rec *c, apr_socket_t *csd) I was very careful to keep the csd a void * instead of an apr_socket_t *, because you have no way of knowing that the module that did the accept will be giving us a socket, or at least not an apr_socket_t. Right now, Aaron and I are hacking Apache to allow it to accept connections over a Unix Domain Socket. This patch will break that abstraction completely. > { > ap_update_vhost_given_ip(c); > > + ap_run_install_transport_filters(c, csd); > + > ap_run_pre_connection(c); Why did we create a new hook to put here? This is the last place a new hook is needed, in five lines of code in this function, we call three hooks. Why not just add an argument to the pre_connection hook that gives people access to the socket? Unless there are any complaints, I'll be making both of those changes today or tomorrow. Ryan