diff options
Diffstat (limited to 'innobase/include/sync0arr.h')
-rw-r--r-- | innobase/include/sync0arr.h | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/innobase/include/sync0arr.h b/innobase/include/sync0arr.h index 75d79f4c93f..f0134894997 100644 --- a/innobase/include/sync0arr.h +++ b/innobase/include/sync0arr.h @@ -51,13 +51,9 @@ sync_array_reserve_cell( sync_array_t* arr, /* in: wait array */ void* object, /* in: pointer to the object to wait for */ ulint type, /* in: lock request type */ - #ifdef UNIV_SYNC_DEBUG - char* file, /* in: in debug version file where - requested */ - ulint line, /* in: in the debug version line where - requested */ - #endif - ulint* index); /* out: index of the reserved cell */ + char* file, /* in: file where requested */ + ulint line, /* in: line where requested */ + ulint* index); /* out: index of the reserved cell */ /********************************************************************** This function should be called when a thread starts to wait on a wait array cell. In the debug version this function checks @@ -90,6 +86,20 @@ sync_array_signal_object( /*=====================*/ sync_array_t* arr, /* in: wait array */ void* object);/* in: wait object */ +/************************************************************************** +If the wakeup algorithm does not work perfectly at semaphore relases, +this function will do the waking (see the comment in mutex_exit). This +function should be called about every 1 second in the server. */ + +void +sync_arr_wake_threads_if_sema_free(void); +/*====================================*/ +/************************************************************************** +Prints warnings of long semaphore waits to stderr. Currently > 120 sec. */ + +void +sync_array_print_long_waits(void); +/*=============================*/ /************************************************************************ Validates the integrity of the wait array. Checks that the number of reserved cells equals the count variable. */ |