List:Commits« Previous MessageNext Message »
From:klewis Date:March 28 2008 4:49am
Subject:bk commit into 6.0 tree (klewis:1.2613) BUG#34890
View as plain text  
Below is the list of changes that have just been committed into a local
6.0 repository of klewis.  When klewis does a push these changes
will be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2008-03-27 22:48:57-05:00, klewis@klewis-mysql. +2 -0
  Bug#34890 - Avoid deadlock caused by getting the callers lock while 
  holding the local lock.

  storage/falcon/SyncObject.cpp@stripped, 2008-03-27 22:48:26-05:00, klewis@klewis-mysql. +1
-1
    Cleanup

  storage/falcon/Synchronize.cpp@stripped, 2008-03-27 22:48:30-05:00, klewis@klewis-mysql. +2
-1
    Bug#34890 - Avoid deadlock caused by getting the callers lock while 
    holding the local lock.

diff -Nrup a/storage/falcon/SyncObject.cpp b/storage/falcon/SyncObject.cpp
--- a/storage/falcon/SyncObject.cpp	2008-03-27 01:27:43 -05:00
+++ b/storage/falcon/SyncObject.cpp	2008-03-27 22:48:26 -05:00
@@ -256,7 +256,7 @@ void SyncObject::lock(Sync *sync, LockTy
 			}
 		}
 
-    // mutex is held going into wait() It is released before coming out.
+	// mutex is held going into wait() It is released before coming out.
 
 	wait(type, thread, sync, timeout);
 	DEBUG_FREEZE;
diff -Nrup a/storage/falcon/Synchronize.cpp b/storage/falcon/Synchronize.cpp
--- a/storage/falcon/Synchronize.cpp	2008-03-27 01:27:47 -05:00
+++ b/storage/falcon/Synchronize.cpp	2008-03-27 22:48:30 -05:00
@@ -204,9 +204,10 @@ bool Synchronize::sleep(int milliseconds
 
 	sleeping = false;
 	wakeup = false;
+	pthread_mutex_unlock(&mutex);
 	if (callersMutex)
 		callersMutex->lock();
-	pthread_mutex_unlock(&mutex);
+
 	DEBUG_FREEZE;
 
 	return ret != ETIMEDOUT;
Thread
bk commit into 6.0 tree (klewis:1.2613) BUG#34890klewis28 Mar