]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
stasis: switch stasis show topics temporary container from list - RBtree
authorphoneben <3232963@gmail.com>
Tue, 11 Nov 2025 17:00:56 +0000 (19:00 +0200)
committerphoneben <3232963@gmail.com>
Wed, 12 Nov 2025 22:22:05 +0000 (22:22 +0000)
switch stasis show topics temporary container from list to RB-tree
minimizing lock time

Resolves: #1585

main/stasis.c

index 7818b1da3a9b741d316b3515d0af502ec13141ec..32d201461688ca06669fa1464d89fd3a16f2e193 100644 (file)
@@ -2435,10 +2435,10 @@ static char *stasis_show_topics(struct ast_cli_entry *e, int cmd, struct ast_cli
 
        ast_cli(a->fd, "\n" FMT_HEADERS, "Name", "Detail");
 
-       tmp_container = ao2_container_alloc_list(AO2_ALLOC_OPT_LOCK_NOLOCK, 0,
+       tmp_container = ao2_container_alloc_rbtree(AO2_ALLOC_OPT_LOCK_NOLOCK, 0,
                                topic_proxy_sort_fn, NULL);
 
-       if (!tmp_container || ao2_container_dup(tmp_container, topic_all, OBJ_SEARCH_OBJECT)) {
+       if (!tmp_container || ao2_container_dup(tmp_container, topic_all, 0)) {
                ao2_cleanup(tmp_container);
 
                return NULL;