aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/control/interface_manager.c
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2007-08-06 07:41:19 +0000
committerMartin Willi <martin@strongswan.org>2007-08-06 07:41:19 +0000
commit9ec19f13f73de2e90f746396524f7d05c34b9d7e (patch)
treede935f53cbb128060c898567b45b37b1407d7a28 /src/charon/control/interface_manager.c
parent1eef2ae8d238698456f9581ea08e7a119bf489f1 (diff)
downloadstrongswan-9ec19f13f73de2e90f746396524f7d05c34b9d7e.tar.bz2
strongswan-9ec19f13f73de2e90f746396524f7d05c34b9d7e.tar.xz
allow starter to initiate connections simultaneously (on auto=start)
Diffstat (limited to 'src/charon/control/interface_manager.c')
-rw-r--r--src/charon/control/interface_manager.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/charon/control/interface_manager.c b/src/charon/control/interface_manager.c
index 700174c5b..4cc0581b3 100644
--- a/src/charon/control/interface_manager.c
+++ b/src/charon/control/interface_manager.c
@@ -290,6 +290,13 @@ static status_t initiate(private_interface_manager_t *this,
}
charon->ike_sa_manager->checkin(charon->ike_sa_manager, ike_sa);
+ if (callback == NULL)
+ {
+ /* don't wait for a result if no callback is specified */
+ charon->bus->set_listen_state(charon->bus, FALSE);
+ return NEED_MORE;
+ }
+
/* wait until we get a result */
while (TRUE)
{