#At file:///home/mikael/mysql_clones/buf_page_hash_mutex/
2848 Mikael Ronstrom 2009-05-12
Fixed a bug in the buf_page_hash_mutex split patch derived from Google v3 patch
modified:
storage/innobase/buf/buf0buf.c
storage/innobase/sync/sync0sync.c
=== modified file 'storage/innobase/buf/buf0buf.c'
--- a/storage/innobase/buf/buf0buf.c 2009-05-09 15:32:13 +0000
+++ b/storage/innobase/buf/buf0buf.c 2009-05-12 18:05:23 +0000
@@ -1187,8 +1187,8 @@ loop:
if ((offset != block->offset) || (space != block->space)
|| (block->state != BUF_BLOCK_FILE_PAGE)) {
- block = NULL;
mutex_exit(&block->mutex);
+ block = NULL;
}
}
=== modified file 'storage/innobase/sync/sync0sync.c'
--- a/storage/innobase/sync/sync0sync.c 2009-05-09 15:32:13 +0000
+++ b/storage/innobase/sync/sync0sync.c 2009-05-12 18:05:23 +0000
@@ -1245,28 +1245,37 @@ sync_thread_reset_level(
sync_thread_t* thread_slot;
ulint i;
+ printf("50\n"); fflush(stdout);
if (!sync_order_checks_on) {
+ printf("51\n"); fflush(stdout);
return(FALSE);
}
+ printf("52\n"); fflush(stdout);
if ((latch == (void*)&sync_thread_mutex)
|| (latch == (void*)&mutex_list_mutex)
|| (latch == (void*)&rw_lock_debug_mutex)
|| (latch == (void*)&rw_lock_list_mutex)) {
+ printf("53\n"); fflush(stdout);
return(FALSE);
}
+ printf("54\n"); fflush(stdout);
mutex_enter(&sync_thread_mutex);
+ printf("55\n"); fflush(stdout);
thread_slot = sync_thread_level_arrays_find_slot();
+ printf("56\n"); fflush(stdout);
if (thread_slot == NULL) {
+ printf("57\n"); fflush(stdout);
ut_error;
mutex_exit(&sync_thread_mutex);
+ printf("58\n"); fflush(stdout);
return(FALSE);
}
@@ -1274,12 +1283,16 @@ sync_thread_reset_level(
for (i = 0; i < SYNC_THREAD_N_LEVELS; i++) {
+ printf("59\n"); fflush(stdout);
slot = sync_thread_levels_get_nth(array, i);
+ printf("60\n"); fflush(stdout);
if (slot->latch == latch) {
slot->latch = NULL;
+ printf("61\n"); fflush(stdout);
mutex_exit(&sync_thread_mutex);
+ printf("62\n"); fflush(stdout);
return(TRUE);
}
@@ -1287,7 +1300,9 @@ sync_thread_reset_level(
ut_error;
+ printf("63\n"); fflush(stdout);
mutex_exit(&sync_thread_mutex);
+ printf("64\n"); fflush(stdout);
return(FALSE);
}
| Thread |
|---|
| • bzr commit into mysql-5.1 branch (mikael:2848) | Mikael Ronstrom | 12 May 2009 |