]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
app_queue: Fix crash when unloading module. 05/2705/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:54 +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 927c4967ec9fc6735dad7f00a2b286589a8312c9..8171d11cb47a844fa2086f0ef61f6d4dbd1f76cd 100644 (file)
@@ -10983,8 +10983,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;
 }