aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/daemon.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2012-05-02 09:03:23 +0200
committerMartin Willi <martin@revosec.ch>2012-05-02 10:22:59 +0200
commitf99d8b10c9f5b5024b4b1e5f5d1e56e2519cdadc (patch)
treec675eb2564affb806336942de5387ad2ad668c0b /src/libcharon/daemon.c
parent13de38e354c055b2c8a5e95fc2e1cb793782bf27 (diff)
downloadstrongswan-f99d8b10c9f5b5024b4b1e5f5d1e56e2519cdadc.tar.bz2
strongswan-f99d8b10c9f5b5024b4b1e5f5d1e56e2519cdadc.tar.xz
Added a dedicated sender flush method, delay sender destruction until users gone
Diffstat (limited to 'src/libcharon/daemon.c')
-rw-r--r--src/libcharon/daemon.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libcharon/daemon.c b/src/libcharon/daemon.c
index 3fb49d475..f2c054a12 100644
--- a/src/libcharon/daemon.c
+++ b/src/libcharon/daemon.c
@@ -109,8 +109,11 @@ static void destroy(private_daemon_t *this)
{
this->public.traps->flush(this->public.traps);
}
+ if (this->public.sender)
+ {
+ this->public.sender->flush(this->public.sender);
+ }
DESTROY_IF(this->public.receiver);
- DESTROY_IF(this->public.sender);
#ifdef ME
DESTROY_IF(this->public.connect_manager);
DESTROY_IF(this->public.mediation_manager);
@@ -129,6 +132,7 @@ static void destroy(private_daemon_t *this)
DESTROY_IF(this->public.controller);
DESTROY_IF(this->public.eap);
DESTROY_IF(this->public.backends);
+ DESTROY_IF(this->public.sender);
DESTROY_IF(this->public.socket);
/* rehook library logging, shutdown logging */