Commit 8fbf0e88 authored by Mikael Ronstrom's avatar Mikael Ronstrom

Added THD wait state for MASTER POS WAIT

parent dea3152c
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
#include "rpl_utility.h" #include "rpl_utility.h"
#include "transaction.h" #include "transaction.h"
#include "sql_parse.h" // end_trans, ROLLBACK #include "sql_parse.h" // end_trans, ROLLBACK
#include <mysql/plugin.h>
#include <mysql/service_thd_wait.h>
static int count_relay_log_space(Relay_log_info* rli); static int count_relay_log_space(Relay_log_info* rli);
...@@ -792,6 +794,7 @@ int Relay_log_info::wait_for_pos(THD* thd, String* log_name, ...@@ -792,6 +794,7 @@ int Relay_log_info::wait_for_pos(THD* thd, String* log_name,
We are going to mysql_cond_(timed)wait(); if the SQL thread stops it We are going to mysql_cond_(timed)wait(); if the SQL thread stops it
will wake us up. will wake us up.
*/ */
thd_wait_begin(thd, THD_WAIT_BINLOG);
if (timeout > 0) if (timeout > 0)
{ {
/* /*
...@@ -809,6 +812,7 @@ int Relay_log_info::wait_for_pos(THD* thd, String* log_name, ...@@ -809,6 +812,7 @@ int Relay_log_info::wait_for_pos(THD* thd, String* log_name,
} }
else else
mysql_cond_wait(&data_cond, &data_lock); mysql_cond_wait(&data_cond, &data_lock);
thd_wait_end(thd);
DBUG_PRINT("info",("Got signal of master update or timed out")); DBUG_PRINT("info",("Got signal of master update or timed out"));
if (error == ETIMEDOUT || error == ETIME) if (error == ETIMEDOUT || error == ETIME)
{ {
......
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