From 07d3fc52208b6c680aaec3db65a756824d535719 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Sun, 10 Nov 2013 17:51:26 +0100 Subject: [PATCH] MDEV-201 - Assertion `!thd->spcont' failed in net_send_error on server shutdown restore sergii@pisem.net-20120327141644-xue6r05x1giswwsm that was lost in a merge --- plugin/semisync/semisync_master.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugin/semisync/semisync_master.cc b/plugin/semisync/semisync_master.cc index b67d7b8add4..0c84519fac0 100644 --- a/plugin/semisync/semisync_master.cc +++ b/plugin/semisync/semisync_master.cc @@ -629,7 +629,7 @@ int ReplSemiSyncMaster::commitTrx(const char* trx_wait_binlog_name, (int)is_on()); } - while (is_on()) + while (is_on() && !thd_killed(NULL)) { if (reply_file_name_inited_) { @@ -741,7 +741,8 @@ int ReplSemiSyncMaster::commitTrx(const char* trx_wait_binlog_name, At this point, the binlog file and position of this transaction must have been removed from ActiveTranx. */ - assert(!active_tranxs_->is_tranx_end_pos(trx_wait_binlog_name, + assert(thd_killed(NULL) || + !active_tranxs_->is_tranx_end_pos(trx_wait_binlog_name, trx_wait_binlog_pos)); l_end: