diff options
author | Thomas Egerer <thomas.egerer@secunet.com> | 2014-01-16 13:24:08 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2014-01-16 14:16:13 +0100 |
commit | b190899473354a5783e15b7b0056be89916667db (patch) | |
tree | 6818ae9de26f55e158216b2bc49715dbe4b41e87 /src/libcharon/sa/task_manager.h | |
parent | 800b361e19dc271956c40826e7e917ce0ff507ef (diff) | |
download | strongswan-b190899473354a5783e15b7b0056be89916667db.tar.bz2 strongswan-b190899473354a5783e15b7b0056be89916667db.tar.xz |
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 <thomas.egerer@secunet.com>
Diffstat (limited to 'src/libcharon/sa/task_manager.h')
-rw-r--r-- | src/libcharon/sa/task_manager.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libcharon/sa/task_manager.h b/src/libcharon/sa/task_manager.h index a1ebb4117..e7a6bf463 100644 --- a/src/libcharon/sa/task_manager.h +++ b/src/libcharon/sa/task_manager.h @@ -261,6 +261,11 @@ struct task_manager_t { task_queue_t queue); /** + * Flush all tasks, regardless of the queue. + */ + void (*flush)(task_manager_t *this); + + /** * Flush a queue, cancelling all tasks. * * @param queue queue to flush |