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-ROWVWADEjas | 5 Oct |