diff options
author | Nirbhay Choubey <nirbhay@mariadb.com> | 2015-05-09 17:09:21 -0400 |
---|---|---|
committer | Nirbhay Choubey <nirbhay@mariadb.com> | 2015-05-09 17:09:21 -0400 |
commit | e11cad9e9dd3ae0be61aec1bb50b0ddc867b10be (patch) | |
tree | d1266ef4e52851e73467a6d7bf4a3ca991b484fa /storage/xtradb/trx | |
parent | 99f496ae65a56d587e24c88df85aae7e7cfce70e (diff) | |
parent | 0880284bf715b4916cc735e19b76d1062c2bfdcf (diff) | |
download | mariadb-git-e11cad9e9dd3ae0be61aec1bb50b0ddc867b10be.tar.gz |
Merge tag 'mariadb-10.0.19' into 10.0-galera
Diffstat (limited to 'storage/xtradb/trx')
-rw-r--r-- | storage/xtradb/trx/trx0roll.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/storage/xtradb/trx/trx0roll.cc b/storage/xtradb/trx/trx0roll.cc index 3484c1f818d..88fefe23e5d 100644 --- a/storage/xtradb/trx/trx0roll.cc +++ b/storage/xtradb/trx/trx0roll.cc @@ -53,6 +53,9 @@ Created 3/26/1996 Heikki Tuuri rollback */ #define TRX_ROLL_TRUNC_THRESHOLD 1 +/** true if trx_rollback_or_clean_all_recovered() thread is active */ +bool trx_rollback_or_clean_is_active; + /** In crash recovery, the current trx to be rolled back; NULL otherwise */ static const trx_t* trx_roll_crash_recv_trx = NULL; @@ -502,7 +505,7 @@ trx_release_savepoint_for_mysql( { trx_named_savept_t* savep; - ut_ad(trx_state_eq(trx, TRX_STATE_ACTIVE)); + ut_ad(trx_state_eq(trx, TRX_STATE_ACTIVE) || trx_state_eq(trx, TRX_STATE_PREPARED)); ut_ad(trx->in_mysql_trx_list); savep = trx_savepoint_find(trx, savepoint_name); @@ -815,6 +818,8 @@ DECLARE_THREAD(trx_rollback_or_clean_all_recovered)( trx_rollback_or_clean_recovered(TRUE); + trx_rollback_or_clean_is_active = false; + /* We count the number of threads in os_thread_exit(). A created thread should always use that to exit and not use return() to exit. */ |