--- httpd-2.2.11.orig/modules/proxy/mod_proxy.c 2008-11-11 21:01:59.000000000 +0100 +++ httpd-2.2.11.orig/modules/proxy/mod_proxy.c 2009-04-17 16:40:22.000000000 +0200 @@ -1024,6 +1024,14 @@ /* Try again if the worker is unusable and the service is * unavailable. */ + if (balancer) { + /* Since the unusable worker was returned by the pre_request + * handler, run the post_request handler to clean up (e.g. + * decrement the "busy" counter) before trying to find a new + * worker. + */ + proxy_run_post_request(worker, balancer, r, conf); + } } while (!PROXY_WORKER_IS_USABLE(worker) && max_attempts > attempts++);