diff options
author | unknown <monty@mysql.com> | 2004-03-18 00:16:04 +0200 |
---|---|---|
committer | unknown <monty@mysql.com> | 2004-03-18 00:16:04 +0200 |
commit | 24148f04c736679a69fd305270617616906f3697 (patch) | |
tree | 2bd46f92f467b68e9b652a280b512a9cf0413ca2 /innobase/sync/sync0rw.c | |
parent | 7395d54d5b59d9615773c1300953df3b225b0027 (diff) | |
parent | 022c5241a9ebcd6047b761ef437f51e62722f9e9 (diff) | |
download | mariadb-git-24148f04c736679a69fd305270617616906f3697.tar.gz |
merge fixes (use old code)
client/mysqladmin.c:
Auto merged
client/mysqltest.c:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/include/os0file.h:
Auto merged
innobase/os/os0file.c:
Auto merged
myisam/mi_check.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
Diffstat (limited to 'innobase/sync/sync0rw.c')
-rw-r--r-- | innobase/sync/sync0rw.c | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/innobase/sync/sync0rw.c b/innobase/sync/sync0rw.c index e6da03c53fa..93fd9f14575 100644 --- a/innobase/sync/sync0rw.c +++ b/innobase/sync/sync0rw.c @@ -31,6 +31,7 @@ ulint rw_x_exit_count = 0; rw_lock_list_t rw_lock_list; mutex_t rw_lock_list_mutex; +#ifdef UNIV_SYNC_DEBUG /* The global mutex which protects debug info lists of all rw-locks. To modify the debug info list of an rw-lock, this mutex has to be acquired in addition to the mutex protecting the lock. */ @@ -76,6 +77,7 @@ rw_lock_debug_free( { mem_free(info); } +#endif /* UNIV_SYNC_DEBUG */ /********************************************************************** Creates, or rather, initializes an rw-lock object in a specified memory @@ -107,10 +109,12 @@ rw_lock_create_func( lock->writer_is_wait_ex = FALSE; +#ifdef UNIV_SYNC_DEBUG UT_LIST_INIT(lock->debug_list); - lock->magic_n = RW_LOCK_MAGIC_N; lock->level = SYNC_LEVEL_NONE; +#endif /* UNIV_SYNC_DEBUG */ + lock->magic_n = RW_LOCK_MAGIC_N; lock->cfile_name = cfile_name; lock->cline = cline; @@ -319,8 +323,9 @@ rw_lock_x_lock_low( char* file_name,/* in: file name where lock requested */ ulint line) /* in: line where requested */ { +#ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(rw_lock_get_mutex(lock))); - +#endif /* UNIV_SYNC_DEBUG */ if (rw_lock_get_writer(lock) == RW_LOCK_NOT_LOCKED) { if (rw_lock_get_reader_count(lock) == 0) { @@ -528,6 +533,7 @@ lock_loop: goto lock_loop; } +#ifdef UNIV_SYNC_DEBUG /********************************************************************** Acquires the debug mutex. We cannot use the mutex defined in sync0sync, because the debug mutex is also acquired in sync0arr while holding the OS @@ -653,6 +659,7 @@ rw_lock_remove_debug_info( ut_error; } +#endif /* UNIV_SYNC_DEBUG */ /********************************************************************** Sets the rw-lock latching level field. */ @@ -666,6 +673,7 @@ rw_lock_set_level( lock->level = level; } +#ifdef UNIV_SYNC_DEBUG /********************************************************************** Checks if the thread has locked the rw-lock in the specified mode, with the pass value == 0. */ @@ -683,9 +691,6 @@ rw_lock_own( ut_ad(lock); ut_ad(rw_lock_validate(lock)); -#ifndef UNIV_SYNC_DEBUG - ut_error; -#endif mutex_enter(&(lock->mutex)); info = UT_LIST_GET_FIRST(lock->debug_list); @@ -708,6 +713,7 @@ rw_lock_own( return(FALSE); } +#endif /* UNIV_SYNC_DEBUG */ /********************************************************************** Checks if somebody has locked the rw-lock in the specified mode. */ @@ -744,6 +750,7 @@ rw_lock_is_locked( return(ret); } +#ifdef UNIV_SYNC_DEBUG /******************************************************************* Prints debug info of currently locked rw-locks. */ @@ -751,8 +758,6 @@ void rw_lock_list_print_info(void) /*=========================*/ { -#ifndef UNIV_SYNC_DEBUG -#else rw_lock_t* lock; ulint count = 0; rw_lock_debug_t* info; @@ -796,7 +801,6 @@ rw_lock_list_print_info(void) printf("Total number of rw-locks %ld\n", count); mutex_exit(&rw_lock_list_mutex); -#endif } /******************************************************************* @@ -807,11 +811,6 @@ rw_lock_print( /*==========*/ rw_lock_t* lock __attribute__((unused))) /* in: rw-lock */ { -#ifndef UNIV_SYNC_DEBUG - printf( - "Sorry, cannot give rw-lock info in non-debug version!\n"); -#else - ulint count = 0; rw_lock_debug_t* info; printf("-------------\n"); @@ -834,7 +833,6 @@ rw_lock_print( info = UT_LIST_GET_NEXT(list, info); } } -#endif } /************************************************************************* @@ -875,12 +873,6 @@ ulint rw_lock_n_locked(void) /*==================*/ { -#ifndef UNIV_SYNC_DEBUG - printf( - "Sorry, cannot give rw-lock info in non-debug version!\n"); - ut_error; - return(0); -#else rw_lock_t* lock; ulint count = 0; @@ -903,5 +895,5 @@ rw_lock_n_locked(void) mutex_exit(&rw_lock_list_mutex); return(count); -#endif } +#endif /* UNIV_SYNC_DEBUG */ |