[Asterisk-cvs] asterisk/include/asterisk lock.h,1.23,1.23.2.1

russell at lists.digium.com russell at lists.digium.com
Sun Feb 13 17:44:23 CST 2005


Update of /usr/cvsroot/asterisk/include/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv1602/include/asterisk

Modified Files:
      Tag: v1-0
	lock.h 
Log Message:
minor fix for deadlock detection, but I hope nobody has to use it :)  (bug #3531)


Index: lock.h
===================================================================
RCS file: /usr/cvsroot/asterisk/include/asterisk/lock.h,v
retrieving revision 1.23
retrieving revision 1.23.2.1
diff -u -d -r1.23 -r1.23.2.1
--- lock.h	8 Aug 2004 17:15:02 -0000	1.23
+++ lock.h	13 Feb 2005 23:43:58 -0000	1.23.2.1
@@ -188,17 +188,19 @@
 			filename, lineno, func, mutex_name);
 #endif
 		ast_mutex_init(t);
-        }
+	}
 #endif /* definded(AST_MUTEX_INIT_W_CONSTRUCTORS) || defined(AST_MUTEX_INIT_ON_FIRST_USE) */
 #ifdef DETECT_DEADLOCKS
 	{
-		time_t seconds seconds = time(NULL);
+		time_t seconds = time(NULL);
+		time_t current;
 		do {
 			res = pthread_mutex_trylock(&t->mutex);
 			if (res == EBUSY) {
-				if ((time(NULL) - seconds) % 5) {
+				current = time(NULL);
+				if ((current - seconds) && (!((current - seconds) % 5))) {
 					fprintf(stderr, "%s line %d (%s): Deadlock? waited %d sec for mutex '%s'?\n",
-						filename, lineno, func, (time(NULL) - seconds), mutex_name);
+						filename, lineno, func, (int)(current - seconds), mutex_name);
 					fprintf(stderr, "%s line %d (%s): '%s' was locked here.\n",
 						t->file, t->lineno, t->func, mutex_name);
 				}




More information about the svn-commits mailing list