]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
pbx.c: Print new context count when reloading dialplan.
authorNaveen Albert <asterisk@phreaknet.org>
Mon, 17 Nov 2025 21:16:59 +0000 (16:16 -0500)
committerNaveen Albert <asterisk@phreaknet.org>
Wed, 19 Nov 2025 17:19:45 +0000 (17:19 +0000)
When running "dialplan reload", the number of contexts reported
is initially wrong, as it is the old context count. Running
"dialplan reload" a second time returns the correct number of
contexts that are loaded. This can confuse users into thinking
that the reload didn't work successfully the first time.

This counter is currently only incremented when iterating the
old contexts prior to the context merge; at the very end, get
the current number of elements in the context hash table and
report that instead. This way, the count is correct immediately
whenever a reload occurs.

Resolves: #1599

main/pbx.c

index 3c4d72c09daae1d1ce744473516d9c50cb5c2469..58ef0cabed5725d22556c607b211338efa78abb3 100644 (file)
@@ -6659,6 +6659,10 @@ void ast_merge_contexts_and_delete(struct ast_context **extcontexts, struct ast_
        /* Create all applicable autohint contexts */
        context_table_create_autohints(contexts_table);
 
+       /* ctx_count is still the number of old contexts before the merge,
+        * use the new count when we tell the user how many contexts exist. */
+       ctx_count = ast_hashtab_size(contexts_table);
+
        ao2_unlock(hints);
        ast_unlock_contexts();