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
 

Reply via email to