diff options
author | Michael Cahill <michael.cahill@wiredtiger.com> | 2012-04-18 15:45:06 +1000 |
---|---|---|
committer | Michael Cahill <michael.cahill@wiredtiger.com> | 2012-04-18 15:45:06 +1000 |
commit | e9bd1b3cbeff3239b64160e50dba81a32484c234 (patch) | |
tree | 7b5b798b3b1f5f87e1ae0821cd4095faded25551 | |
parent | 33595efafcb9de71b12135c477c0197c29cc01bd (diff) | |
download | mongo-e9bd1b3cbeff3239b64160e50dba81a32484c234.tar.gz |
Don't update a WT_REF after it has been unlocked.
-rw-r--r-- | src/btree/rec_evict.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/btree/rec_evict.c b/src/btree/rec_evict.c index 59263b6b558..064db7b669b 100644 --- a/src/btree/rec_evict.c +++ b/src/btree/rec_evict.c @@ -91,9 +91,11 @@ err: /* static int __rec_page_clean_update(WT_SESSION_IMPL *session, WT_PAGE *page, int single) { + WT_ASSERT(session, single || page->ref->state == WT_REF_LOCKED); + /* Update the relevant WT_REF structure. */ - WT_PUBLISH(page->ref->state, WT_REF_DISK); page->ref->page = NULL; + WT_PUBLISH(page->ref->state, WT_REF_DISK); return (__rec_discard_page(session, page, single)); } @@ -108,7 +110,6 @@ __rec_root_clean_update(WT_SESSION_IMPL *session, WT_PAGE *page, int single) WT_BTREE *btree; btree = session->btree; - btree->root_page = NULL; return (__rec_discard_page(session, page, single)); |