ike_sa: Defer task manager destruction after child destruction
This patch exports the task manager's flush to allow flushing of all
queues with one function call from ike_sa->destroy. It allows the
access of intact children during task destructoin (see git-commit
e44ebdcf) and allows the access of the task manager in
child_state_change hook.
Signed-off-by: Thomas Egerer <[email protected]>
This commit is contained in:
committed by
Martin Willi
parent
800b361e19
commit
b190899473
@@ -339,10 +339,8 @@ METHOD(task_manager_t, flush_queue, void,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* flush all tasks in the task manager
|
||||
*/
|
||||
static void flush(private_task_manager_t *this)
|
||||
METHOD(task_manager_t, flush, void,
|
||||
private_task_manager_t *this)
|
||||
{
|
||||
flush_queue(this, TASK_QUEUE_QUEUED);
|
||||
flush_queue(this, TASK_QUEUE_PASSIVE);
|
||||
@@ -2070,6 +2068,7 @@ task_manager_v1_t *task_manager_v1_create(ike_sa_t *ike_sa)
|
||||
.adopt_child_tasks = _adopt_child_tasks,
|
||||
.busy = _busy,
|
||||
.create_task_enumerator = _create_task_enumerator,
|
||||
.flush = _flush,
|
||||
.flush_queue = _flush_queue,
|
||||
.destroy = _destroy,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user