summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <knielsen@knielsen-hq.org>2012-05-08 14:27:44 +0200
committerunknown <knielsen@knielsen-hq.org>2012-05-08 14:27:44 +0200
commitddd3e261b253856720bd9dc2343a655ecc297e81 (patch)
treeee6d838b1a255aebf7b35a839d6e992323e35c1b /sql
parent0887c6b9d35005e136260b83da8cfe4e9cd270b7 (diff)
downloadmariadb-git-ddd3e261b253856720bd9dc2343a655ecc297e81.tar.gz
MDEV-254: Server hang with FLUSH TABLES WITH READ LOCK AND DISABLE CHECKPOINT
The code to re-enable checkpointing after UNLOCK TABLES was lost in the 5.5 merge, so re-add it back in.
Diffstat (limited to 'sql')
-rw-r--r--sql/lock.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/sql/lock.cc b/sql/lock.cc
index c5a4674bfb0..3a1a6d41ce3 100644
--- a/sql/lock.cc
+++ b/sql/lock.cc
@@ -1041,6 +1041,15 @@ void Global_read_lock::unlock_global_read_lock(THD *thd)
DBUG_ASSERT(m_mdl_global_shared_lock && m_state);
+ if (thd->global_disable_checkpoint)
+ {
+ thd->global_disable_checkpoint= 0;
+ if (!--global_disable_checkpoint)
+ {
+ ha_checkpoint_state(0); // Enable checkpoints
+ }
+ }
+
if (m_mdl_blocks_commits_lock)
{
thd->mdl_context.release_lock(m_mdl_blocks_commits_lock);