mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
fixed processing of COM_BINLOG_DUMP to use in mysqlbinlog
sql/sql_repl.cc: fixed mysql_binlog_send to use COM_BINLOG_DUMP in mysqlbinlog
This commit is contained in:
@ -929,7 +929,8 @@ bool do_command(THD *thd)
|
||||
pos = uint4korr(packet + 1);
|
||||
flags = uint2korr(packet + 5);
|
||||
pthread_mutex_lock(&LOCK_server_id);
|
||||
kill_zombie_dump_threads(slave_server_id = uint4korr(packet+7));
|
||||
if ((slave_server_id = uint4korr(packet+7)))
|
||||
kill_zombie_dump_threads(slave_server_id);
|
||||
thd->server_id = slave_server_id;
|
||||
pthread_mutex_unlock(&LOCK_server_id);
|
||||
mysql_binlog_send(thd, thd->strdup(packet + 11), pos, flags);
|
||||
|
@ -442,6 +442,11 @@ void mysql_binlog_send(THD* thd, char* log_ident, ulong pos, ushort flags)
|
||||
break;
|
||||
case LOG_READ_EOF:
|
||||
DBUG_PRINT("wait",("waiting for data on binary log"));
|
||||
if (thd->server_id==0)
|
||||
{
|
||||
pthread_mutex_unlock(log_lock);
|
||||
goto end;
|
||||
}
|
||||
if (!thd->killed)
|
||||
pthread_cond_wait(&COND_binlog_update, log_lock);
|
||||
break;
|
||||
@ -523,6 +528,7 @@ void mysql_binlog_send(THD* thd, char* log_ident, ulong pos, ushort flags)
|
||||
}
|
||||
}
|
||||
|
||||
end:
|
||||
end_io_cache(&log);
|
||||
(void)my_close(file, MYF(MY_WME));
|
||||
|
||||
@ -532,7 +538,7 @@ void mysql_binlog_send(THD* thd, char* log_ident, ulong pos, ushort flags)
|
||||
thd->current_linfo = 0;
|
||||
pthread_mutex_unlock(&LOCK_thread_count);
|
||||
DBUG_VOID_RETURN;
|
||||
err:
|
||||
err:
|
||||
thd->proc_info = "waiting to finalize termination";
|
||||
end_io_cache(&log);
|
||||
pthread_mutex_lock(&LOCK_thread_count);
|
||||
|
Reference in New Issue
Block a user