[asterisk-commits] russell: trunk r91831 - in /trunk: ./ main/utils.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Dec 7 15:25:04 CST 2007


Author: russell
Date: Fri Dec  7 15:25:03 2007
New Revision: 91831

URL: http://svn.digium.com/view/asterisk?view=rev&rev=91831
Log:
Merged revisions 91830 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r91830 | russell | 2007-12-07 15:24:33 -0600 (Fri, 07 Dec 2007) | 5 lines

Make the lock protecting each thread's list of locks it currently holds
recursive.  I think that this will fix the situation where some people have
said that "core show locks" locks up the CLI.
(related to issue #11080)

........

Modified:
    trunk/   (props changed)
    trunk/main/utils.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/main/utils.c
URL: http://svn.digium.com/view/asterisk/trunk/main/utils.c?view=diff&rev=91831&r1=91830&r2=91831
==============================================================================
--- trunk/main/utils.c (original)
+++ trunk/main/utils.c Fri Dec  7 15:25:03 2007
@@ -825,6 +825,7 @@
 	struct thr_arg a = *((struct thr_arg *) data);	/* make a local copy */
 #ifdef DEBUG_THREADS
 	struct thr_lock_info *lock_info;
+	pthread_mutexattr_t mutex_attr;
 #endif
 
 	/* note that even though data->name is a pointer to allocated memory,
@@ -842,7 +843,11 @@
 
 	lock_info->thread_id = pthread_self();
 	lock_info->thread_name = strdup(a.name);
-	pthread_mutex_init(&lock_info->lock, NULL);
+
+	pthread_mutexattr_init(&mutex_attr);
+	pthread_mutexattr_settype(&mutex_attr, AST_MUTEX_KIND);
+	pthread_mutex_init(&lock_info->lock, &mutex_attr);
+	pthread_mutexattr_destroy(&mutex_attr);
 
 	pthread_mutex_lock(&lock_infos_lock.mutex); /* Intentionally not the wrapper */
 	AST_LIST_INSERT_TAIL(&lock_infos, lock_info, entry);




More information about the asterisk-commits mailing list