X-Git-Url: https://pd.if.org/git/?p=btree;a=blobdiff_plain;f=threadskv8.c;h=44411881f67455309eede48bb81ef3ae46e81d77;hp=02ac19847c5cbf3eb3cf6991a281049d73b728f1;hb=7af1d62ea9301c15ee80a428749a17075ba44627;hpb=c78ccc15b7098665ae08c2cbe577ad16169da06b diff --git a/threadskv8.c b/threadskv8.c index 02ac198..4441188 100644 --- a/threadskv8.c +++ b/threadskv8.c @@ -2325,17 +2325,19 @@ uint slot; bt_unlockpage(bt, BtLockRead, set->latch); bt_lockpage(bt, BtLockAtomic, set->latch); bt_lockpage(bt, BtLockRead, set->latch); - bt_unlockpage(bt, BtLockAccess, set->latch); if( !set->page->kill ) - if( slot = bt_findslot (set->page, key, len) ) + if( slot = bt_findslot (set->page, key, len) ) { + bt_unlockpage(bt, BtLockAccess, set->latch); return slot; + } bt_unlockpage(bt, BtLockAtomic, set->latch); } // slide right into next page + bt_unlockpage(bt, BtLockAccess, set->latch); page_no = bt_getid(set->page->right); prevlatch = set->latch; }