]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
app_queue: Fix crash when unloading module. 06/2706/1
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 11:15:46 +0000 (06:15 -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 972ca9f6f8d2ff16b7df1fd13898fc1168897530..e4902783281fc667792953ce05e716e6eba25424 100644 (file)
@@ -10704,8 +10704,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;
 }