mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into mysql.com:/home/cps/mysql/trees/5.1/5.1-virgin-debug
This commit is contained in:
commit
2b8f3b3ed1
3 changed files with 20 additions and 3 deletions
13
sql/log.cc
13
sql/log.cc
|
@ -561,17 +561,28 @@ bool LOGGER::error_log_print(enum loglevel level, const char *format,
|
|||
}
|
||||
|
||||
|
||||
void LOGGER::cleanup()
|
||||
void LOGGER::cleanup_base()
|
||||
{
|
||||
DBUG_ASSERT(inited == 1);
|
||||
(void) pthread_mutex_destroy(&LOCK_logger);
|
||||
if (table_log_handler)
|
||||
{
|
||||
table_log_handler->cleanup();
|
||||
delete table_log_handler;
|
||||
}
|
||||
if (file_log_handler)
|
||||
file_log_handler->cleanup();
|
||||
}
|
||||
|
||||
|
||||
void LOGGER::cleanup_end()
|
||||
{
|
||||
DBUG_ASSERT(inited == 1);
|
||||
if (file_log_handler)
|
||||
delete file_log_handler;
|
||||
}
|
||||
|
||||
|
||||
void LOGGER::close_log_table(uint log_type, bool lock_in_use)
|
||||
{
|
||||
table_log_handler->close_log_table(log_type, lock_in_use);
|
||||
|
|
|
@ -479,7 +479,10 @@ public:
|
|||
{
|
||||
return (THD *) table_log_handler->slow_log_thd;
|
||||
}
|
||||
void cleanup();
|
||||
/* Perform basic logger cleanup. this will leave e.g. error log open. */
|
||||
void cleanup_base();
|
||||
/* Free memory. Nothing could be logged after this function is called */
|
||||
void cleanup_end();
|
||||
bool error_log_print(enum loglevel level, const char *format,
|
||||
va_list args);
|
||||
bool slow_log_print(THD *thd, const char *query, uint query_length,
|
||||
|
|
|
@ -1144,7 +1144,8 @@ void clean_up(bool print_message)
|
|||
if (cleanup_done++)
|
||||
return; /* purecov: inspected */
|
||||
|
||||
logger.cleanup();
|
||||
logger.cleanup_base();
|
||||
|
||||
/*
|
||||
make sure that handlers finish up
|
||||
what they have that is dependent on the binlog
|
||||
|
@ -1237,6 +1238,8 @@ void clean_up(bool print_message)
|
|||
/* do the broadcast inside the lock to ensure that my_end() is not called */
|
||||
(void) pthread_cond_broadcast(&COND_thread_count);
|
||||
(void) pthread_mutex_unlock(&LOCK_thread_count);
|
||||
logger.cleanup_end();
|
||||
|
||||
/*
|
||||
The following lines may never be executed as the main thread may have
|
||||
killed us
|
||||
|
|
Loading…
Reference in a new issue