[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