- while( 1 ) {
- bt_lockpage (BtLockParent, set->latch);
- bt_lockpage (BtLockWrite, set->latch);
-
- key = keyptr (set->page, set->page->cnt);
- memcpy (fencekey, key, key->len + 1);
- prev = set->page->posted;
-
- if( right && prev ) {
- bt_unlockpage (BtLockParent, set->latch);
- bt_unlockpage (BtLockWrite, set->latch);
- bt_unpinlatch (set->latch);
- bt_unpinpool (set->pool);
- return 0;
- }
-
- right = bt_getid (set->page->right);
- set->page->posted = 1;
-
- bt_unlockpage (BtLockWrite, set->latch);
+ right->latch = bt_pinlatch (bt, right->page_no);
+ bt_lockpage (BtLockParent, right->latch);