Index: server/mpm/worker/worker.c =================================================================== --- server/mpm/worker/worker.c (revision 292229) +++ server/mpm/worker/worker.c (working copy) @@ -693,6 +693,7 @@ } else { ptrans = recycled_pool; + recycled_pool = NULL; } apr_pool_tag(ptrans, "transaction"); rv = lr->accept_func(&csd, lr, ptrans); @@ -729,11 +730,15 @@ apr_socket_close(csd); ap_log_error(APLOG_MARK, APLOG_CRIT, rv, ap_server_conf, "ap_queue_push failed"); + recycled_pool = ptrans; } else { have_idle_worker = 0; } } + else { + recycled_pool = ptrans; + } } else { if ((rv = SAFE_ACCEPT(apr_proc_mutex_unlock(accept_mutex)))