summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorRussell Bryant <russell@russellbryant.com>2007-12-02 18:20:13 +0000
committerRussell Bryant <russell@russellbryant.com>2007-12-02 18:20:13 +0000
commit0f5117be2ec3fd0fa155bbddd2e8044eb218311a (patch)
tree485b309010d8ee6bcb5a52d7b92daac4ed2df320 /apps
parent87492f6dd620cdd8547406a3f94e36eba0c64f3a (diff)
Merged revisions 90470 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r90470 | russell | 2007-12-02 12:18:52 -0600 (Sun, 02 Dec 2007) | 6 lines The other day when I went through making changes as a result of the ao2_link() change, I added some code to set pointers to NULL after they were unreferenced. This pointed out that in this place, the object was unreferenced before the code was done using it. So, move the unref down a little bit. (crash reported by jmls on IRC) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-rw-r--r--apps/app_queue.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c
index 8be6a3045..441eab021 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -3384,8 +3384,6 @@ static int add_to_queue(const char *queuename, const char *interface, const char
if ((new_member = create_queue_member(interface, membername, penalty, paused))) {
new_member->dynamic = 1;
ao2_link(q->members, new_member);
- ao2_ref(new_member, -1);
- new_member = NULL;
q->membercount++;
manager_event(EVENT_FLAG_AGENT, "QueueMemberAdded",
"Queue: %s\r\n"
@@ -3402,6 +3400,9 @@ static int add_to_queue(const char *queuename, const char *interface, const char
new_member->penalty, new_member->calls, (int) new_member->lastcall,
new_member->status, new_member->paused);
+ ao2_ref(new_member, -1);
+ new_member = NULL;
+
if (dump)
dump_queue_members(q);