From ebbdc3250b267f7089fe4a20f04af7da55fd92e0 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Mon, 18 Jul 2011 18:42:47 +0200 Subject: [PATCH] Fix load-tester.shutdown_when_complete option. It didn't work when used together with delete_after_established=yes. --- .../plugins/load_tester/load_tester_listener.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/libcharon/plugins/load_tester/load_tester_listener.c b/src/libcharon/plugins/load_tester/load_tester_listener.c index 2aa95a7af..7c96f7d97 100644 --- a/src/libcharon/plugins/load_tester/load_tester_listener.c +++ b/src/libcharon/plugins/load_tester/load_tester_listener.c @@ -41,6 +41,11 @@ struct private_load_tester_listener_t { */ u_int established; + /** + * Number of terminated SAs + */ + u_int terminated; + /** * Shutdown the daemon if we have established this SA count */ @@ -52,10 +57,9 @@ METHOD(listener_t, ike_updown, bool, { if (up) { - ike_sa_id_t *id; + ike_sa_id_t *id = ike_sa->get_id(ike_sa); this->established++; - id = ike_sa->get_id(ike_sa); if (this->delete_after_established) { @@ -74,7 +78,7 @@ METHOD(listener_t, ike_updown, bool, } else { - this->established--; + this->terminated++; } return TRUE; } @@ -82,7 +86,7 @@ METHOD(listener_t, ike_updown, bool, METHOD(load_tester_listener_t, get_established, u_int, private_load_tester_listener_t *this) { - return this->established; + return this->established - this->terminated; } METHOD(load_tester_listener_t, destroy, void,