List:Commits« Previous MessageNext Message »
From:U-ROWVWADEjas Date:October 5 2007 2:22pm
Subject:bk commit into 6.0 tree (jas:1.2623)
View as plain text  
Below is the list of changes that have just been committed into a local
6.0 repository of . When  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, 2007-10-05 10:21:50-04:00, jas@rowvwade. +3 -0
  Add code to freeze system at all blocking points for
  debug analysis.

  storage/falcon/IO.cpp@stripped, 2007-10-05 10:21:42-04:00, jas@rowvwade. +5 -1
    Add code to freeze system at all blocking points for
    debug analysis.

  storage/falcon/SyncObject.cpp@stripped, 2007-10-05 10:21:42-04:00, jas@rowvwade. +16 -2
    Add code to freeze system at all blocking points for
    debug analysis.

  storage/falcon/Synchronize.cpp@stripped, 2007-10-05 10:21:43-04:00, jas@rowvwade. +2 -1
    Add code to freeze system at all blocking points for
    debug analysis.

diff -Nrup a/storage/falcon/IO.cpp b/storage/falcon/IO.cpp
--- a/storage/falcon/IO.cpp	2007-10-04 14:08:32 -04:00
+++ b/storage/falcon/IO.cpp	2007-10-05 10:21:42 -04:00
@@ -82,6 +82,7 @@
 #include "Sync.h"
 #include "Log.h"
 #include "Debug.h"
+#include "Synchronize.h"
 
 #define TRACE_FILE	"falcon.trace"
 
@@ -222,7 +223,6 @@ void IO::writePage(Bdb * bdb)
 		FATAL ("can't continue after fatal error");
 
 	ASSERT(bdb->pageNumber != HEADER_PAGE || ((Page*)(bdb->buffer))->pageType == PAGE_header);
-
 	tracePage(bdb);
 	SEEK_OFFSET offset = (int64) bdb->pageNumber * pageSize;
 	int length = pwrite (offset, pageSize, (UCHAR *)bdb->buffer);
@@ -374,6 +374,8 @@ int IO::pread(int64 offset, int length, 
 	ret = (int) read(length, buffer);
 #endif
 
+	DEBUG_FREEZE;
+
 	return ret;
 }
 
@@ -403,6 +405,8 @@ int IO::pwrite(int64 offset, int length,
 	longSeek(offset);
 	ret = (int) ::write (fileId, buffer, length);
 #endif
+
+	DEBUG_FREEZE;
 
 	return ret;
 }
diff -Nrup a/storage/falcon/SyncObject.cpp b/storage/falcon/SyncObject.cpp
--- a/storage/falcon/SyncObject.cpp	2007-10-04 14:08:34 -04:00
+++ b/storage/falcon/SyncObject.cpp	2007-10-05 10:21:42 -04:00
@@ -154,8 +154,11 @@ void SyncObject::lock(Sync *sync, LockTy
 			INTERLOCK_TYPE newState = oldState + 1;
 
 			if (COMPARE_EXCHANGE(&lockState, oldState, newState))
+				{
+				DEBUG_FREEZE;
 				return;
-			
+				}
+				
 			BACKOFF;
 			}
 
@@ -175,6 +178,7 @@ void SyncObject::lock(Sync *sync, LockTy
 				{
 				bumpWaiters(-1);
 				mutex.release();
+				DEBUG_FREEZE;
 				
 				return;
 				}
@@ -189,6 +193,7 @@ void SyncObject::lock(Sync *sync, LockTy
 			++monitorCount;
 			bumpWaiters(-1);
 			mutex.release();
+			DEBUG_FREEZE;
 			
 			return;
 			}
@@ -202,6 +207,7 @@ void SyncObject::lock(Sync *sync, LockTy
 			{
 			++monitorCount;
 			BUMP(exclusiveCount);
+			DEBUG_FREEZE;
 			
 			return;
 			}
@@ -217,6 +223,7 @@ void SyncObject::lock(Sync *sync, LockTy
 				{
 				exclusiveThread = thread;
 				BUMP(exclusiveCount);
+				DEBUG_FREEZE;
 				
 				return; 
 				}
@@ -240,6 +247,7 @@ void SyncObject::lock(Sync *sync, LockTy
 				exclusiveThread = thread;
 				bumpWaiters(-1);
 				mutex.release();
+				DEBUG_FREEZE;
 				
 				return;
 				}
@@ -249,6 +257,7 @@ void SyncObject::lock(Sync *sync, LockTy
 		}
 
 	wait (type, thread, sync);
+	DEBUG_FREEZE;
 }
 
 void SyncObject::unlock(Sync *sync, LockType type)
@@ -259,6 +268,7 @@ void SyncObject::unlock(Sync *sync, Lock
 		{
 		ASSERT (monitorCount > 0);
 		--monitorCount;
+		DEBUG_FREEZE;
 
 		return;
 		}
@@ -274,6 +284,7 @@ void SyncObject::unlock(Sync *sync, Lock
 		
 		if (COMPARE_EXCHANGE(&lockState, oldState, newState))
 			{
+			DEBUG_FREEZE;
 			if (waiters)
 				grantLocks();
 				
@@ -303,6 +314,8 @@ void SyncObject::unlock(Sync *sync, Lock
 	if (waiters)
 		grantLocks();
 	***/
+	
+	DEBUG_FREEZE;
 }
 
 void SyncObject::downGrade(LockType type)
@@ -315,10 +328,11 @@ void SyncObject::downGrade(LockType type
 		if (COMPARE_EXCHANGE(&lockState, -1, 1))
 			{
 			exclusiveThread = NULL;
+			DEBUG_FREEZE;
 			
 			if (waiters)
 				grantLocks();
-				
+
 			return;
 			}
 }
diff -Nrup a/storage/falcon/Synchronize.cpp b/storage/falcon/Synchronize.cpp
--- a/storage/falcon/Synchronize.cpp	2007-10-05 09:51:32 -04:00
+++ b/storage/falcon/Synchronize.cpp	2007-10-05 10:21:43 -04:00
@@ -199,5 +199,6 @@ void Synchronize::freeze(void)
 
 void Synchronize::freezeSystem(void)
 {
-	COMPARE_EXCHANGE(&synchronizeFreeze, 0, true);
+	COMPARE_EXCHANGE(&synchronizeFreeze, synchronizeFreeze, true);
+	freeze();
 }
Thread
bk commit into 6.0 tree (jas:1.2623)U-ROWVWADEjas5 Oct