diff options
author | Mikael Ronström <mikael@dator9> | 2011-05-12 20:35:31 +0200 |
---|---|---|
committer | Mikael Ronström <mikael@dator9> | 2011-05-12 20:35:31 +0200 |
commit | 06087d23156f77e6be7a13ddee71129c093c7757 (patch) | |
tree | 9b80136979cd63617dbabc84a4e61ad1e8c309ae /sql/log.cc | |
parent | 69396894f15f145ad48d45f21bba1d902602c96a (diff) | |
parent | 7577c115a028eb0b713878fdd3be95a018bd9cdb (diff) | |
download | mariadb-git-06087d23156f77e6be7a13ddee71129c093c7757.tar.gz |
merge
Diffstat (limited to 'sql/log.cc')
-rw-r--r-- | sql/log.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sql/log.cc b/sql/log.cc index bb5b37baa69..ce6b0f0a5a2 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -6506,8 +6506,11 @@ int TC_LOG_BINLOG::unlog(ulong cookie, my_xid xid) { DBUG_ENTER("TC_LOG_BINLOG::unlog"); mysql_mutex_lock(&LOCK_prep_xids); - DBUG_ASSERT(prepared_xids > 0); - if (--prepared_xids == 0) { + // prepared_xids can be 0 if the transaction had ignorable errors. + DBUG_ASSERT(prepared_xids >= 0); + if (prepared_xids > 0) + prepared_xids--; + if (prepared_xids == 0) { DBUG_PRINT("info", ("prepared_xids=%lu", prepared_xids)); mysql_cond_signal(&COND_prep_xids); } |