[Tarantool-patches] [PATCH 2/6] txn: stop using txn_set_flag
Cyrill Gorcunov
gorcunov at gmail.com
Fri Jan 22 16:26:56 MSK 2021
Part-of #5128
Signed-off-by: Cyrill Gorcunov <gorcunov at gmail.com>
---
src/box/applier.cc | 4 ++--
src/box/memtx_engine.c | 2 +-
src/box/txn.c | 13 ++++++-------
src/box/txn.h | 2 +-
4 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/src/box/applier.cc b/src/box/applier.cc
index 553db76fc..c7c85d329 100644
--- a/src/box/applier.cc
+++ b/src/box/applier.cc
@@ -237,7 +237,7 @@ apply_snapshot_row(struct xrow_header *row)
* Do not wait for confirmation when fetching a snapshot.
* Master only sends confirmed rows during join.
*/
- txn_set_flag(txn, TXN_FORCE_ASYNC);
+ txn->flags |= TXN_FORCE_ASYNC;
if (txn_begin_stmt(txn, space) != 0)
goto rollback;
/* no access checks here - applier always works with admin privs */
@@ -308,7 +308,7 @@ apply_final_join_row(struct xrow_header *row)
* Do not wait for confirmation while processing final
* join rows. See apply_snapshot_row().
*/
- txn_set_flag(txn, TXN_FORCE_ASYNC);
+ txn->flags |= TXN_FORCE_ASYNC;
if (apply_row(row) != 0) {
txn_rollback(txn);
fiber_gc();
diff --git a/src/box/memtx_engine.c b/src/box/memtx_engine.c
index f79f14b4f..f0df3a07d 100644
--- a/src/box/memtx_engine.c
+++ b/src/box/memtx_engine.c
@@ -265,7 +265,7 @@ memtx_engine_recover_snapshot_row(struct memtx_engine *memtx,
* Snapshot rows are confirmed by definition. They don't need to go to
* the synchronous transactions limbo.
*/
- txn_set_flag(txn, TXN_FORCE_ASYNC);
+ txn->flags |= TXN_FORCE_ASYNC;
rc = txn_commit(txn);
/*
* Don't let gc pool grow too much. Yet to
diff --git a/src/box/txn.c b/src/box/txn.c
index a5edbfc60..32eca02c5 100644
--- a/src/box/txn.c
+++ b/src/box/txn.c
@@ -282,7 +282,7 @@ txn_begin(void)
* It's a responsibility of an engine to disable yields
* if they are not supported.
*/
- txn_set_flag(txn, TXN_CAN_YIELD);
+ txn->flags |= TXN_CAN_YIELD;
return txn;
}
@@ -516,7 +516,7 @@ txn_free_or_wakeup(struct txn *txn)
if (txn->fiber == NULL)
txn_free(txn);
else {
- txn_set_flag(txn, TXN_IS_DONE);
+ txn->flags |= TXN_IS_DONE;
if (txn->fiber != fiber())
/* Wake a waiting fiber up. */
fiber_wakeup(txn->fiber);
@@ -642,8 +642,7 @@ txn_journal_entry_new(struct txn *txn)
*/
if (!txn_has_flag(txn, TXN_FORCE_ASYNC)) {
if (is_sync) {
- txn_set_flag(txn, TXN_WAIT_SYNC);
- txn_set_flag(txn, TXN_WAIT_ACK);
+ txn->flags |= TXN_WAIT_SYNC | TXN_WAIT_ACK;
} else if (!txn_limbo_is_empty(&txn_limbo)) {
/*
* There some sync entries on the
@@ -652,7 +651,7 @@ txn_journal_entry_new(struct txn *txn)
* doesn't touch sync space (each sync txn
* should be considered as a barrier).
*/
- txn_set_flag(txn, TXN_WAIT_SYNC);
+ txn->flags |= TXN_WAIT_SYNC;
}
}
@@ -994,7 +993,7 @@ txn_can_yield(struct txn *txn, bool set)
assert(txn == in_txn());
bool could = txn_has_flag(txn, TXN_CAN_YIELD);
if (set && !could) {
- txn_set_flag(txn, TXN_CAN_YIELD);
+ txn->flags |= TXN_CAN_YIELD;
trigger_clear(&txn->fiber_on_yield);
} else if (!set && could) {
txn_clear_flag(txn, TXN_CAN_YIELD);
@@ -1229,6 +1228,6 @@ txn_on_yield(struct trigger *trigger, void *event)
assert(txn != NULL);
assert(!txn_has_flag(txn, TXN_CAN_YIELD));
txn_rollback_to_svp(txn, NULL);
- txn_set_flag(txn, TXN_IS_ABORTED_BY_YIELD);
+ txn->flags |= TXN_IS_ABORTED_BY_YIELD;
return 0;
}
diff --git a/src/box/txn.h b/src/box/txn.h
index b42249b17..201564000 100644
--- a/src/box/txn.h
+++ b/src/box/txn.h
@@ -491,7 +491,7 @@ txn_init_triggers(struct txn *txn)
rlist_create(&txn->on_commit);
rlist_create(&txn->on_rollback);
rlist_create(&txn->on_wal_write);
- txn_set_flag(txn, TXN_HAS_TRIGGERS);
+ txn->flags |= TXN_HAS_TRIGGERS;
}
}
--
2.29.2
More information about the Tarantool-patches
mailing list