[asterisk-commits] file: branch 13 r431807 - /branches/13/res/res_timing_pthread.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Sun Feb 15 06:40:20 CST 2015


Author: file
Date: Sun Feb 15 06:39:09 2015
New Revision: 431807

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=431807
Log:
res_timing_pthread: Fix leaky pipes.

During some refactoring the way private information for timers
was stored was changed. As a result of this the action which normally
removed the timer upon closure in res_timing_pthread was also removed
causing the timer to remain after it should using up resources.
This change ensures that the timer is removed upon closure.

ASTERISK-24768 #close
Reported by: Matthias Urlichs
patches:
 timer.patch submitted by Matthias Urlichs (license 5508)

Modified:
    branches/13/res/res_timing_pthread.c

Modified: branches/13/res/res_timing_pthread.c
URL: http://svnview.digium.com/svn/asterisk/branches/13/res/res_timing_pthread.c?view=diff&rev=431807&r1=431806&r2=431807
==============================================================================
--- branches/13/res/res_timing_pthread.c (original)
+++ branches/13/res/res_timing_pthread.c Sun Feb 15 06:39:09 2015
@@ -143,7 +143,7 @@
 		ast_cond_signal(&timing_thread.cond);
 		ast_mutex_unlock(&timing_thread.lock);
 	}
-	ao2_link(pthread_timers, timer);
+	ao2_link_flags(pthread_timers, timer, OBJ_NOLOCK);
 	ao2_unlock(pthread_timers);
 
 	return timer;
@@ -153,6 +153,7 @@
 {
 	struct pthread_timer *timer = data;
 
+	ao2_unlink(pthread_timers, timer);
 	ao2_ref(timer, -1);
 }
 




More information about the asterisk-commits mailing list