MINOR: task: release the task pool when stopping

When we're stopping, we're not going to create new tasks anymore, so
let's release the task pool upon each task_free() in order to reduce
memory fragmentation.
This commit is contained in:
Willy Tarreau 2014-11-13 16:57:19 +01:00
parent 3a5e060bf6
commit eb11889f1e

View File

@ -32,6 +32,7 @@
#include <common/ticks.h>
#include <eb32tree.h>
#include <types/global.h>
#include <types/task.h>
/* Principle of the wait queue.
@ -199,6 +200,8 @@ static inline struct task *task_new(void)
static inline void task_free(struct task *t)
{
pool_free2(pool2_task, t);
if (unlikely(stopping))
pool_flush2(pool2_task);
nb_tasks--;
}