Commit 2453d43a authored by nick@nick.leippe.com's avatar nick@nick.leippe.com

Backport of Sasha's fix to 3.23 from 4.0

see dev-private email from sasha, subject:
URGENT: rpl_sporadic_master
parent 152734e3
......@@ -17,3 +17,4 @@ miguel@hegel.local
arjen@fred.bitbike.com
sinisa@rhols221.adsl.netsonic.fi
Sinisa@sinisa.nasamreza.org
nick@nick.leippe.com
......@@ -837,9 +837,6 @@ command");
static uint read_event(MYSQL* mysql, MASTER_INFO *mi)
{
uint len = packet_error;
// for convinience lets think we start by
// being in the interrupted state :-)
int read_errno = EINTR;
// my_real_read() will time us out
// we check if we were told to die, and if not, try reading again
......@@ -848,27 +845,21 @@ static uint read_event(MYSQL* mysql, MASTER_INFO *mi)
return packet_error;
#endif
while (!abort_loop && !abort_slave && len == packet_error &&
read_errno == EINTR )
{
len = mc_net_safe_read(mysql);
read_errno = errno;
}
if (abort_loop || abort_slave)
return packet_error;
if (len == packet_error || (int) len < 1)
len = mc_net_safe_read(mysql);
if (len == packet_error || (long) len < 1)
{
sql_print_error("Error reading packet from server: %s (read_errno %d,\
sql_print_error("Error reading packet from server: %s (\
server_errno=%d)",
mc_mysql_error(mysql), read_errno, mc_mysql_errno(mysql));
mc_mysql_error(mysql), mc_mysql_errno(mysql));
return packet_error;
}
if (len == 1)
{
sql_print_error("Slave: received 0 length packet from server, apparent\
master shutdown: %s (%d)",
mc_mysql_error(mysql), read_errno);
master shutdown: %s",
mc_mysql_error(mysql));
return packet_error;
}
......
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