mdbx: fix GC-slot cleanup inside mdbx_update_gc() in extra rare complex cases.

More for 5f1b684719 and https://github.com/erthink/libmdbx/issues/123

Change-Id: I1b78d6be2babf9ffdd0b77e7b1ee53d1313977bb
This commit is contained in:
Leonid Yuriev 2021-01-26 10:28:39 +03:00
parent 251eda6fb8
commit 943bb552a2

View File

@ -8080,8 +8080,10 @@ retry_noaccount:
goto bailout;
if (MDBX_PNL_SIZE(txn->tw.lifo_reclaimed)) {
if (need_cleanup)
if (need_cleanup) {
mdbx_txl_sort(txn->tw.lifo_reclaimed);
cleaned_gc_slot = 0;
}
gc_rid = MDBX_PNL_LAST(txn->tw.lifo_reclaimed);
} else {
mdbx_tassert(txn, txn->tw.last_reclaimed == 0);