[asterisk-commits] murf: branch murf/mtxprof r131296 - /team/murf/mtxprof/main/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Jul 16 13:34:54 CDT 2008
Author: murf
Date: Wed Jul 16 13:34:54 2008
New Revision: 131296
URL: http://svn.digium.com/view/asterisk?view=rev&rev=131296
Log:
These changes commit in behalf of bugs 12772 and 13089; still in the research phase
Modified:
team/murf/mtxprof/main/channel.c
team/murf/mtxprof/main/utils.c
Modified: team/murf/mtxprof/main/channel.c
URL: http://svn.digium.com/view/asterisk/team/murf/mtxprof/main/channel.c?view=diff&rev=131296&r1=131295&r2=131296
==============================================================================
--- team/murf/mtxprof/main/channel.c (original)
+++ team/murf/mtxprof/main/channel.c Wed Jul 16 13:34:54 2008
@@ -1700,8 +1700,10 @@
log_show_lock(&chan->lock_dont_use);
#endif
+ log_show_lock(&chan->lock_dont_use);
ast_channel_lock(chan); /* in sip runs, this lock eats up a tremendous amount of time */
-
+ log_show_lock(&chan->lock_dont_use);
+
/* You can't answer an outbound call */
if (ast_test_flag(chan, AST_FLAG_OUTGOING)) {
ast_channel_unlock(chan);
Modified: team/murf/mtxprof/main/utils.c
URL: http://svn.digium.com/view/asterisk/team/murf/mtxprof/main/utils.c?view=diff&rev=131296&r1=131295&r2=131296
==============================================================================
--- team/murf/mtxprof/main/utils.c (original)
+++ team/murf/mtxprof/main/utils.c Wed Jul 16 13:34:54 2008
@@ -613,9 +613,11 @@
{
struct thr_lock_info *lock_info;
int i;
-
+ /* printf("store lock info for %s:%d[%s(%s)[%p]\n", filename,line_num, func,lock_name,lock_addr); */
+
if (!(lock_info = ast_threadstorage_get(&thread_lock_info, sizeof(*lock_info))))
return;
+ /* printf("store lock info 2\n"); */
pthread_mutex_lock(&lock_info->lock);
@@ -646,6 +648,7 @@
lock_info->num_locks--;
memset(&lock_info->locks[i], 0, sizeof(lock_info->locks[0]));
}
+ /* printf("store lock info 3\n"); */
lock_info->locks[i].file = filename;
lock_info->locks[i].line_num = line_num;
@@ -732,6 +735,7 @@
struct thr_lock_info *lock_info;
int i = 0;
+ /* printf("remove lock info for [%p]\n", lock_addr); */
if (!(lock_info = ast_threadstorage_get(&thread_lock_info, sizeof(*lock_info))))
return;
@@ -869,13 +873,17 @@
struct ast_str *str;
int lockinfos = 0;
int totlocks = 0;
-
+ int i;
+
if (!(str = ast_str_create(4096))) {
ast_log(LOG_NOTICE,"Could not create str\n");
return;
}
- ast_log(LOG_ERROR,"lockptr:tracking=%d;\n", lockptr->tracking);
- ast_log(LOG_ERROR,"file:%s; lineno:%d; func:%s; re-ent:%d\n",lockptr->track.file[0], lockptr->track.lineno[0], lockptr->track.func[0], lockptr->track.reentrancy);
+ printf("lockptr:tracking=%d;\n", lockptr->tracking);
+ for(i=0;i<lockptr->track.reentrancy;i++) {
+ printf("file:%s; lineno:%d; func:%s; re-ent:%d\n",lockptr->track.file[i], lockptr->track.lineno[i], lockptr->track.func[i], lockptr->track.reentrancy);
+ }
+
ast_log(LOG_ERROR,"Look for lock addr %p in list\n", this_lock_addr);
pthread_mutex_lock(&lock_infos_lock.mutex);
More information about the asterisk-commits
mailing list