diff options
Diffstat (limited to 'server/mpm_unix.c')
-rw-r--r-- | server/mpm_unix.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/server/mpm_unix.c b/server/mpm_unix.c index b7e16e5024..5a2f132a4a 100644 --- a/server/mpm_unix.c +++ b/server/mpm_unix.c @@ -1380,11 +1380,13 @@ void ap_free_idle_pools(fd_queue_info_t *queue_info) apr_pool_t *p; queue_info->max_recycled_pools = 0; - do { + for (;;) { ap_pop_pool(&p, queue_info); - if (p != NULL) - apr_pool_destroy(p); - } while (p != NULL); + if (p == NULL) + break; + apr_pool_destroy(p); + } + apr_atomic_set32(&queue_info->recycled_pools_count, 0); } |