mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-06 17:54:13 +08:00
mdbx: guard put-data inside freelist_save() by C_RECLAIMING (paranoia).
Change-Id: I9cb6bf27717f76dc97259d48e4253a30c2345afd
This commit is contained in:
parent
7626bcfdde
commit
7ed97d50b1
@ -3170,7 +3170,9 @@ again_on_freelist_change:
|
|||||||
data.iov_base = rpl_end;
|
data.iov_base = rpl_end;
|
||||||
pgno_t save = rpl_end[0];
|
pgno_t save = rpl_end[0];
|
||||||
rpl_end[0] = (pgno_t)chunk_len;
|
rpl_end[0] = (pgno_t)chunk_len;
|
||||||
|
mc.mc_flags |= C_RECLAIMING;
|
||||||
rc = mdbx_cursor_put(&mc, &key, &data, MDBX_CURRENT);
|
rc = mdbx_cursor_put(&mc, &key, &data, MDBX_CURRENT);
|
||||||
|
mc.mc_flags ^= C_RECLAIMING;
|
||||||
mdbx_tassert(
|
mdbx_tassert(
|
||||||
txn, cleanup_reclaimed_pos ==
|
txn, cleanup_reclaimed_pos ==
|
||||||
(txn->mt_lifo_reclaimed ? txn->mt_lifo_reclaimed[0] : 0));
|
(txn->mt_lifo_reclaimed ? txn->mt_lifo_reclaimed[0] : 0));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user