]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
app_queue: Fix crash when unloading module. 04/2704/2
authorJoshua Colp <jcolp@digium.com>
Tue, 26 Apr 2016 10:48:40 +0000 (07:48 -0300)
committerJoshua Colp <jcolp@digium.com>
Tue, 26 Apr 2016 10:52:43 +0000 (05:52 -0500)
When unloading the app_queue module the members in each queue are
destroyed and as part of this they are removed from the pending
members container. Unfortunately a crash would occur as the container
was destroyed before the members were removed.

This change tweaks ordering so the container destruction occurs
after the members are destroyed.

ASTERISK-16115

Change-Id: I48c728668c55aee3d05b751a5d450fb57e87f44b

apps/app_queue.c

index 1df8b697c2cb7e56301942369c7ae7f03ca209c7..dbd83938df56baf9b36cb8f9c294bfdd9a04751a 100644 (file)
@@ -10854,8 +10854,9 @@ static int unload_module(void)
        ast_extension_state_del(0, extension_state_cb);
 
        ast_unload_realtime("queue_members");
-       ao2_cleanup(pending_members);
        ao2_cleanup(queues);
+       ao2_cleanup(pending_members);
+
        queues = NULL;
        return 0;
 }