|
My Project
|
#include <mdl.h>
Public Member Functions | |
| virtual void | enter_cond (mysql_cond_t *cond, mysql_mutex_t *mutex, const PSI_stage_info *stage, PSI_stage_info *old_stage, const char *src_function, const char *src_file, int src_line)=0 |
| virtual void | exit_cond (const PSI_stage_info *stage, const char *src_function, const char *src_file, int src_line)=0 |
| virtual int | is_killed ()=0 |
| virtual THD * | get_thd ()=0 |
| virtual bool | notify_shared_lock (MDL_context_owner *in_use, bool needs_thr_lock_abort)=0 |
An interface to separate the MDL module from the THD, and the rest of the server code.
| virtual void MDL_context_owner::enter_cond | ( | mysql_cond_t * | cond, |
| mysql_mutex_t * | mutex, | ||
| const PSI_stage_info * | stage, | ||
| PSI_stage_info * | old_stage, | ||
| const char * | src_function, | ||
| const char * | src_file, | ||
| int | src_line | ||
| ) | [pure virtual] |
Enter a condition wait. For enter_cond() / exit_cond() to work the mutex must be held before enter_cond(); this mutex is then released by exit_cond(). Usage must be: lock mutex; enter_cond(); your code; exit_cond().
| cond | the condition to wait on | |
| mutex | the associated mutex | |
| [in] | stage | the stage to enter, or NULL |
| [out] | old_stage | the previous stage, or NULL |
| src_function | function name of the caller | |
| src_file | file name of the caller | |
| src_line | line number of the caller |
| virtual THD* MDL_context_owner::get_thd | ( | ) | [pure virtual] |
This one is only used for DEBUG_SYNC. (Do not use it to peek/poke into other parts of THD.)
| virtual int MDL_context_owner::is_killed | ( | ) | [pure virtual] |
Has the owner thread been killed?
| virtual bool MDL_context_owner::notify_shared_lock | ( | MDL_context_owner * | in_use, |
| bool | needs_thr_lock_abort | ||
| ) | [pure virtual] |
1.7.6.1