mirror of
https://github.com/isar/libmdbx.git
synced 2025-08-23 21:14:28 +08:00
mdbx: исправление упущенного TXN_END_EOTDONE
при сбое старта читающей транзакции.
Упомянутый флажок отсутствовал в пути разрушения транзакции при ошибке её запуска. Из-за чего делалась попытка разрушить курсоры, что приводило к падению отладочных сборок, так как в них соответствующий массив намеренно заполнен некорректными указателями.
This commit is contained in:
@@ -1331,7 +1331,7 @@ int txn_renew(MDBX_txn *txn, unsigned flags) {
|
|||||||
}
|
}
|
||||||
bailout:
|
bailout:
|
||||||
tASSERT(txn, rc != MDBX_SUCCESS);
|
tASSERT(txn, rc != MDBX_SUCCESS);
|
||||||
txn_end(txn, TXN_END_SLOT | TXN_END_FAIL_BEGIN);
|
txn_end(txn, TXN_END_SLOT | TXN_END_EOTDONE | TXN_END_FAIL_BEGIN);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user