aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/control/interface_manager.c
diff options
context:
space:
mode:
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)
{