[asterisk-commits] dlee: branch dlee/stasis-forward-optimization r399635 - /team/dlee/stasis-for...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Sep 23 08:38:32 CDT 2013


Author: dlee
Date: Mon Sep 23 08:38:30 2013
New Revision: 399635

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=399635
Log:
Plug another leak

Modified:
    team/dlee/stasis-forward-optimization/main/stasis.c

Modified: team/dlee/stasis-forward-optimization/main/stasis.c
URL: http://svnview.digium.com/svn/asterisk/team/dlee/stasis-forward-optimization/main/stasis.c?view=diff&rev=399635&r1=399634&r2=399635
==============================================================================
--- team/dlee/stasis-forward-optimization/main/stasis.c (original)
+++ team/dlee/stasis-forward-optimization/main/stasis.c Mon Sep 23 08:38:30 2013
@@ -592,8 +592,12 @@
 {
 	struct stasis_forward *forward = obj;
 
+	printf("%s(%p)\n", __func__, forward);
+
 	ao2_cleanup(forward->from_topic);
+	forward->from_topic = NULL;
 	ao2_cleanup(forward->to_topic);
+	forward->to_topic = NULL;
 }
 
 struct stasis_forward *stasis_forward_cancel(struct stasis_forward *forward)
@@ -603,6 +607,8 @@
 
 		struct stasis_topic *from = forward->from_topic;
 		struct stasis_topic *to = forward->to_topic;
+
+		printf("%s(%p)\n", __func__, forward);
 
 		SCOPED_AO2LOCK(to_lock, to);
 
@@ -624,7 +630,8 @@
 struct stasis_forward *stasis_forward_all(struct stasis_topic *from_topic,
 	struct stasis_topic *to_topic)
 {
-	struct stasis_forward *forward;
+	RAII_VAR(struct stasis_forward *, forward, NULL, ao2_cleanup);
+
 	if (!from_topic || !to_topic) {
 		return NULL;
 	}
@@ -633,6 +640,8 @@
 	if (!forward) {
 		return NULL;
 	}
+
+	printf("%s(%p)\n", __func__, forward);
 
 	forward->from_topic = ao2_bump(from_topic);
 	forward->to_topic = ao2_bump(to_topic);




More information about the asterisk-commits mailing list