[asterisk-commits] russell: branch 1.4 r90470 - /branches/1.4/apps/app_queue.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Sun Dec 2 12:18:52 CST 2007


Author: russell
Date: Sun Dec  2 12:18:52 2007
New Revision: 90470

URL: http://svn.digium.com/view/asterisk?view=rev&rev=90470
Log:
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)

Modified:
    branches/1.4/apps/app_queue.c

Modified: branches/1.4/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/apps/app_queue.c?view=diff&rev=90470&r1=90469&r2=90470
==============================================================================
--- branches/1.4/apps/app_queue.c (original)
+++ branches/1.4/apps/app_queue.c Sun Dec  2 12:18:52 2007
@@ -3038,8 +3038,6 @@
 		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"
@@ -3056,6 +3054,9 @@
 				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);
 			




More information about the asterisk-commits mailing list