I wrote:

> Worker MPM, built from the CVS head earlier today, on Solaris... 


I've managed to isolate the problem a bit further.  The csd struct gets
corrupted within core_create_conn:

static conn_rec *core_create_conn(apr_pool_t *ptrans, server_rec *server,
                                  apr_socket_t *csd, int conn_id)
{
    core_net_rec *net = apr_palloc(ptrans, sizeof(*net));
    apr_status_t rv;

#ifdef AP_MPM_DISABLE_NAGLE_ACCEPTED_SOCK
    ap_sock_disable_nagle(csd);
#endif

    net->in_ctx = NULL;
    net->out_ctx = NULL;
    net->c = (conn_rec *) apr_pcalloc(ptrans, sizeof(conn_rec));

During the apr_pcalloc call, *csd occasionally gets overwritten.

--Brian



Reply via email to