From: Matthew Jordan Date: Wed, 3 Jul 2013 21:14:03 +0000 (+0000) Subject: Let Stasis load itself with default values X-Git-Tag: 13.0.0-beta1~1557 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=569f5f2117ecd1c9e0f945d6a5c448ecd2bafb42;p=thirdparty%2Fasterisk.git Let Stasis load itself with default values While a Stasis configuration file is nice, it shouldn't be mandatory. We can carry on with default values. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@393589 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/stasis_config.c b/main/stasis_config.c index f20d61977a..2c450ba9b8 100644 --- a/main/stasis_config.c +++ b/main/stasis_config.c @@ -150,13 +150,20 @@ void stasis_config_get_threadpool_options( /*! \brief Load (or reload) configuration. */ static int process_config(int reload) { - switch (aco_process_config(&cfg_info, reload)) { - case ACO_PROCESS_ERROR: - return -1; - case ACO_PROCESS_OK: - case ACO_PROCESS_UNCHANGED: - break; - } + RAII_VAR(struct stasis_conf *, conf, conf_alloc(), ao2_cleanup); + + switch (aco_process_config(&cfg_info, reload)) { + case ACO_PROCESS_ERROR: + if (conf && !reload && !aco_set_defaults(&threadpool_option, "threadpool", conf->threadpool)) { + ast_log(AST_LOG_NOTICE, "Failed to process Stasis configuration; using defaults\n"); + ao2_global_obj_replace(confs, conf); + return 0; + } + return -1; + case ACO_PROCESS_OK: + case ACO_PROCESS_UNCHANGED: + break; + } return 0; }