]> pd.if.org Git - btree/blobdiff - threadskv5.c
add missing unpinpool
[btree] / threadskv5.c
index b5df26d617fe1e242a86a87a593163ae94878553..da7b9f665308bfc0871325a909603b26b7b98bae 100644 (file)
@@ -905,6 +905,8 @@ SYSTEM_INFO sysinfo[1];
                        return free(mgr), free(latchmgr), NULL;
        } else if( mode == BT_ro )
                return free(latchmgr), bt_mgrclose (mgr), NULL;
+       else
+               initit = 1;
 #else
        latchmgr = VirtualAlloc(NULL, BT_maxpage, MEM_COMMIT, PAGE_READWRITE);
        size = GetFileSize(mgr->idx, amt);
@@ -1707,6 +1709,7 @@ BtPageSet right2[1];
        bt_putid(right2->page->left, left_page_no);
        bt_unlockpage (BtLockWrite, right2->latch);
        bt_unpinlatch (right2->latch);
+       bt_unpinpool (right2->pool);
        return 0;
 }
 
@@ -1716,8 +1719,8 @@ BtPageSet right2[1];
 BTERR bt_deletekey (BtDb *bt, unsigned char *key, uint len, uint lvl)
 {
 unsigned char lowerfence[BT_keyarray], higherfence[BT_keyarray];
-BtPageSet set[1], right[1], right2[1];
 uint slot, idx, found, fence;
+BtPageSet set[1], right[1];
 unsigned char value[BtId];
 BtKey *ptr, *tst;
 BtVal *val;