From: Alan T. DeKok Date: Sat, 17 Jun 2017 13:54:25 +0000 (-0400) Subject: only open new async listeners if we have them X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0c6286e0dcf2fdebd427d68371547ae9f218eb18;p=thirdparty%2Ffreeradius-server.git only open new async listeners if we have them Should hopefully get travis to pass in the short term --- diff --git a/src/main/radiusd.c b/src/main/radiusd.c index 239131b62b7..8d1f10995fc 100644 --- a/src/main/radiusd.c +++ b/src/main/radiusd.c @@ -550,21 +550,24 @@ int main(int argc, char *argv[]) */ if (modules_instantiate(main_config.config) < 0) exit(EXIT_FAILURE); - sc = fr_schedule_create(NULL, &default_log, 1, 4, (fr_schedule_thread_instantiate_t) modules_thread_instantiate, - main_config.config); - if (!sc) { - exit(EXIT_FAILURE); - } - /* * And then load the virtual servers. */ if (virtual_servers_instantiate(main_config.config) < 0) exit(EXIT_FAILURE); /* - * If this isn't just a config check, open the sockets + * If this isn't just a config check, AND we have new + * async listeners, then we open the sockets. */ - if (!check_config && virtual_servers_open(sc) < 0) exit(EXIT_FAILURE); + if (!check_config && main_config.namespace) { + sc = fr_schedule_create(NULL, &default_log, 1, 4, (fr_schedule_thread_instantiate_t) modules_thread_instantiate, + main_config.config); + if (!sc) { + exit(EXIT_FAILURE); + } + + if (virtual_servers_open(sc) < 0) exit(EXIT_FAILURE); + } /* * Initialise the SNMP stats structures diff --git a/src/main/virtual_servers.c b/src/main/virtual_servers.c index 4edecf3571a..8176467923e 100644 --- a/src/main/virtual_servers.c +++ b/src/main/virtual_servers.c @@ -132,6 +132,11 @@ static int listen_parse(UNUSED TALLOC_CTX *ctx, void *out, CONF_ITEM *ci, UNUSED listen->proto_module->module = module; listen->proto_module->conf = listen_cs; + /* + * Hack for now: tell the server core we have new listeners. + */ + main_config.namespace = true; + return 0; }