mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-26 00:01:45 +02:00
When destroying a pool (e.g. at exit or when resizing buffers), it's important to try to free all their local objects otherwise we can leave some in the cache. This is particularly visible when changing "bufsize", because "show pools" will then show two "trash" pools, one of which contains a single object in cache (which is fortunately not reachable). In all cases this happens while single-threaded so that's easy to do, we just have to do it on the current thread. The easiest way to do this is to pass an extra argument to function pool_evict_from_local_cache() to force a full flush instead of a partial one. This can probably be backported to about all branches where this applies, but at least 2.4 needs it.