1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-24 11:21:21 +03:00

Fixes bug #13377. Added code to close active log files in case

of log reset condition.


sql/log.cc:
  Added references counter of binlog readers to wait for closing opened log
  files by al readers for binary log reset.
sql/slave.cc:
  Added a code to close opened relay log files, when they are not used anymore.
sql/sql_class.h:
  Added declarations to maintain references count of binlog readers.
  Added reset log wait condition.
sql/sql_repl.cc:
  Added code to close active log files in case of log reset condition.
This commit is contained in:
unknown
2005-10-03 20:34:42 +04:00
parent b2ee385ff3
commit 3398cb233a
4 changed files with 122 additions and 7 deletions

View File

@@ -189,8 +189,11 @@ class MYSQL_LOG: public TC_LOG
{
private:
/* LOCK_log and LOCK_index are inited by init_pthread_objects() */
pthread_mutex_t LOCK_log, LOCK_index;
pthread_mutex_t LOCK_log, LOCK_index, LOCK_readers;
pthread_cond_t update_cond;
pthread_cond_t reset_cond;
bool reset_pending;
int readers_count;
ulonglong bytes_written;
time_t last_time,query_start;
IO_CACHE log_file;
@@ -334,6 +337,9 @@ public:
int purge_logs_before_date(time_t purge_time);
int purge_first_log(struct st_relay_log_info* rli, bool included);
bool reset_logs(THD* thd);
inline bool is_reset_pending() { return reset_pending; }
void readers_addref();
void readers_release();
void close(uint exiting);
// iterating through the log index file