Commit 423119d2 authored by petr@mysql.com's avatar petr@mysql.com

Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.1-new

into  mysql.com:/home/cps/mysql/trees/mysql-5.1-virgin
parents ac6450b8 de97f94a
...@@ -676,20 +676,36 @@ bool LOGGER::flush_logs(THD *thd) ...@@ -676,20 +676,36 @@ bool LOGGER::flush_logs(THD *thd)
/* reopen log files */ /* reopen log files */
file_log_handler->flush(); file_log_handler->flush();
/* /* flush tables, in the case they are enabled */
this will lock and wait for all but the logger thread to release the if (logger.is_log_tables_initialized)
tables. Then we could reopen log tables. Then release the name locks. {
*/ /*
lock_and_wait_for_table_name(thd, &close_slow_log); This will lock and wait for all but the logger thread to release the
lock_and_wait_for_table_name(thd, &close_general_log); tables. Then we could reopen log tables. Then release the name locks.
NOTE: in fact, the first parameter used in lock_and_wait_for_table_name()
and table_log_handler->flush() could be any non-NULL THD, as the
underlying code makes certain assumptions about this.
Here we use one of the logger handler THD's. Simply because it
seems appropriate.
*/
lock_and_wait_for_table_name(table_log_handler->general_log_thd,
&close_slow_log);
lock_and_wait_for_table_name(table_log_handler->general_log_thd,
&close_general_log);
/* deny others from logging to general and slow log, while reopening tables */ /*
logger.lock(); Deny others from logging to general and slow log,
while reopening tables.
*/
logger.lock();
table_log_handler->flush(thd, &close_slow_log, &close_general_log); table_log_handler->flush(table_log_handler->general_log_thd,
&close_slow_log, &close_general_log);
/* end of log tables flush */ /* end of log tables flush */
logger.unlock(); logger.unlock();
}
return FALSE; return FALSE;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment