summaryrefslogtreecommitdiff
path: root/storage/innobase/sync/sync0sync.c
diff options
context:
space:
mode:
authorVasil Dimov <vasil.dimov@oracle.com>2010-04-19 20:53:16 +0300
committerVasil Dimov <vasil.dimov@oracle.com>2010-04-19 20:53:16 +0300
commitc7525a01306e49897c52ea7e9844697f8f8379a1 (patch)
tree0c1af6979d3c01e38c801d71a2fc74150cc30667 /storage/innobase/sync/sync0sync.c
parent49dc3a7b325135c8cd2f93c213a48497d1b57dae (diff)
parented30b504d2fd9c14af243248f5a94ae5488ad026 (diff)
downloadmariadb-git-c7525a01306e49897c52ea7e9844697f8f8379a1.tar.gz
Merge from innodb-branches-innodb+ (2)
Diffstat (limited to 'storage/innobase/sync/sync0sync.c')
-rw-r--r--storage/innobase/sync/sync0sync.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/storage/innobase/sync/sync0sync.c b/storage/innobase/sync/sync0sync.c
index b9b83adba00..235f733382d 100644
--- a/storage/innobase/sync/sync0sync.c
+++ b/storage/innobase/sync/sync0sync.c
@@ -1157,14 +1157,12 @@ sync_thread_add_level(
case SYNC_RECV:
case SYNC_WORK_QUEUE:
case SYNC_LOG:
+ case SYNC_LOG_FLUSH_ORDER:
case SYNC_THR_LOCAL:
case SYNC_ANY_LATCH:
case SYNC_TRX_SYS_HEADER:
case SYNC_FILE_FORMAT_TAG:
case SYNC_DOUBLEWRITE:
- case SYNC_BUF_FLUSH_LIST:
- case SYNC_BUF_FLUSH_ORDER:
- case SYNC_BUF_POOL:
case SYNC_SEARCH_SYS:
case SYNC_SEARCH_SYS_CONF:
case SYNC_TRX_LOCK_HEAP:
@@ -1186,6 +1184,18 @@ sync_thread_add_level(
ut_error;
}
break;
+ case SYNC_BUF_FLUSH_LIST:
+ case SYNC_BUF_POOL:
+ /* We can have multiple mutexes of this type therefore we
+ can only check whether the greater than condition holds. */
+ if (!sync_thread_levels_g(array, level-1, TRUE)) {
+ fprintf(stderr,
+ "InnoDB: sync_thread_levels_g(array, %lu)"
+ " does not hold!\n", level-1);
+ ut_error;
+ }
+ break;
+
case SYNC_BUF_BLOCK:
/* Either the thread must own the buffer pool mutex
(buf_pool_mutex), or it is allowed to latch only ONE