From: Corey Farrell Date: Mon, 19 Feb 2018 08:49:45 +0000 (-0500) Subject: config: Fix locking for extconfig reload. X-Git-Tag: 13.20.0-rc1~11^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9c8763e4d2d129626d3c21664d4df0114f55db58;p=thirdparty%2Fasterisk.git config: Fix locking for extconfig reload. Expand locking to include full reload process for extconfig to ensure nothing can read the config mappings between clearing and reloading. Change-Id: I378316bad04f1b599ea82d0fef62b8978a644b92 --- diff --git a/main/config.c b/main/config.c index d022b6a7d5..3b56c03870 100644 --- a/main/config.c +++ b/main/config.c @@ -2841,8 +2841,6 @@ static void clear_config_maps(void) { struct ast_config_map *map; - SCOPED_MUTEX(lock, &config_lock); - while (config_maps) { map = config_maps; config_maps = config_maps->next; @@ -2896,6 +2894,7 @@ int read_config_maps(void) char *driver, *table, *database, *textpri, *stringp, *tmp; struct ast_flags flags = { CONFIG_FLAG_NOREALTIME }; int pri; + SCOPED_MUTEX(lock, &config_lock); clear_config_maps();