aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2011-07-18 18:42:47 +0200
committerTobias Brunner <tobias@strongswan.org>2011-07-18 18:46:50 +0200
commitebbdc3250b267f7089fe4a20f04af7da55fd92e0 (patch)
tree54770fd98a18cada809ec1c23e5539664b7c33f2
parent369c2e1dee57695749f5cb27ebf08d20feb09569 (diff)
downloadstrongswan-ebbdc3250b267f7089fe4a20f04af7da55fd92e0.tar.bz2
strongswan-ebbdc3250b267f7089fe4a20f04af7da55fd92e0.tar.xz
Fix load-tester.shutdown_when_complete option.
It didn't work when used together with delete_after_established=yes.
-rw-r--r--src/libcharon/plugins/load_tester/load_tester_listener.c12
1 files 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
@@ -42,6 +42,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
*/
u_int shutdown_on;
@@ -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,