diff options
author | unknown <kaa@polly.(none)> | 2007-11-23 18:16:41 +0300 |
---|---|---|
committer | unknown <kaa@polly.(none)> | 2007-11-23 18:16:41 +0300 |
commit | 5668c1b39b48375894ac9d3226875f171b1efd31 (patch) | |
tree | bb16700e19388b1243401879f7a11b79548210cb /sql/slave.cc | |
parent | 86823d74b156339d5f01f44d9f7d9be8bc79975e (diff) | |
parent | 67522fcb9f92f8286060eeac3b5f054576b16735 (diff) | |
download | mariadb-git-5668c1b39b48375894ac9d3226875f171b1efd31.tar.gz |
Merge polly.(none):/home/kaa/src/opt/bug29976/my51-bug28550
into polly.(none):/home/kaa/src/opt/mysql-5.1-opt
sql/slave.cc:
Auto merged
Diffstat (limited to 'sql/slave.cc')
-rw-r--r-- | sql/slave.cc | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/sql/slave.cc b/sql/slave.cc index 2512954f805..2f95f8ee2e9 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -137,6 +137,7 @@ static int terminate_slave_thread(THD *thd, pthread_cond_t* term_cond, volatile uint *slave_running, bool skip_lock); +static bool check_io_slave_killed(THD *thd, Master_info *mi, const char *info); /* Find out which replications threads are running @@ -821,7 +822,7 @@ static int get_master_version_and_clock(MYSQL* mysql, Master_info* mi) mi->clock_diff_with_master= (long) (time((time_t*) 0) - strtoul(master_row[0], 0, 10)); } - else + else if (!check_io_slave_killed(mi->io_thd, mi, NULL)) { mi->clock_diff_with_master= 0; /* The "most sensible" value */ sql_print_warning("\"SELECT UNIX_TIMESTAMP()\" failed on master, " @@ -1223,7 +1224,7 @@ int register_slave_on_master(MYSQL* mysql, Master_info *mi, { *suppress_warnings= TRUE; // Suppress reconnect warning } - else + else if (!check_io_slave_killed(mi->io_thd, mi, NULL)) { char buf[256]; my_snprintf(buf, sizeof(buf), "%s (Errno: %d)", mysql_error(mysql), @@ -1986,7 +1987,7 @@ static bool check_io_slave_killed(THD *thd, Master_info *mi, const char *info) { if (io_slave_killed(thd, mi)) { - if (global_system_variables.log_warnings) + if (info && global_system_variables.log_warnings) sql_print_information(info); return TRUE; } @@ -2171,11 +2172,15 @@ connected: thd->proc_info = "Registering slave on master"; if (register_slave_on_master(mysql, mi, &suppress_warnings)) { - sql_print_error("Slave I/O thread couldn't register on master"); - if (check_io_slave_killed(thd, mi, "Slave I/O thread killed while \ -registering slave on master") || - try_to_reconnect(thd, mysql, mi, &retry_count, suppress_warnings, - reconnect_messages[SLAVE_RECON_ACT_REG])) + if (!check_io_slave_killed(thd, mi, "Slave I/O thread killed " + "while registering slave on master")) + { + sql_print_error("Slave I/O thread couldn't register on master"); + if (try_to_reconnect(thd, mysql, mi, &retry_count, suppress_warnings, + reconnect_messages[SLAVE_RECON_ACT_REG])) + goto err; + } + else goto err; goto connected; } |