mdbx++: refine abort/commit.

More for https://github.com/erthink/libmdbx/pull/143

Change-Id: I07de4c43d039f904495f0f4caf586d8764174dcf
This commit is contained in:
Leonid Yuriev 2020-12-03 09:32:25 +03:00
parent 5c693ccd96
commit a987301204
2 changed files with 8 additions and 10 deletions

View File

@ -137,6 +137,7 @@ calloc
cas
casename
cassert
castis
castortech
cattr
cbegin
@ -1390,6 +1391,7 @@ rw
samedata
samelength
SAMSUNG
sasgas
savailable
scalability
sched

View File

@ -1314,22 +1314,18 @@ txn_managed::~txn_managed() noexcept {
void txn_managed::abort() {
const error err = static_cast<MDBX_error_t>(::mdbx_txn_abort(handle_));
if (MDBX_UNLIKELY(err.code() != MDBX_SUCCESS)) {
if (err.code() != MDBX_THREAD_MISMATCH)
handle_ = nullptr;
if (MDBX_LIKELY(err.code() != MDBX_THREAD_MISMATCH))
handle_ = nullptr;
if (MDBX_UNLIKELY(err.code() != MDBX_SUCCESS))
err.throw_exception();
}
handle_ = nullptr;
}
void txn_managed::commit() {
const error err = static_cast<MDBX_error_t>(::mdbx_txn_commit(handle_));
if (MDBX_UNLIKELY(err.code() != MDBX_SUCCESS)) {
if (err.code() != MDBX_THREAD_MISMATCH)
handle_ = nullptr;
if (MDBX_LIKELY(err.code() != MDBX_THREAD_MISMATCH))
handle_ = nullptr;
if (MDBX_UNLIKELY(err.code() != MDBX_SUCCESS))
err.throw_exception();
}
handle_ = nullptr;
}
//------------------------------------------------------------------------------