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
This commit is contained in:
Corey Farrell
2018-02-19 03:49:45 -05:00
parent ba75d53669
commit e03f0f9572

View File

@@ -2839,8 +2839,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;
@@ -2894,6 +2892,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();