more
This commit is contained in:
parent
64f290409e
commit
983339f1f6
|
@ -260,6 +260,9 @@ int tdbPagerFetchPage(SPager *pPager, SPgno pgno, SPage **ppPage) {
|
||||||
if (pPage->pPager == NULL) {
|
if (pPage->pPager == NULL) {
|
||||||
ASSERT(pgno < pPager->dbOrigSize);
|
ASSERT(pgno < pPager->dbOrigSize);
|
||||||
|
|
||||||
|
// tdbWLockPage(pPage);
|
||||||
|
|
||||||
|
if (pPage->pPager == NULL) {
|
||||||
ret = tdbPagerReadPage(pPager, pPage);
|
ret = tdbPagerReadPage(pPager, pPage);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -271,6 +274,9 @@ int tdbPagerFetchPage(SPager *pPager, SPgno pgno, SPage **ppPage) {
|
||||||
// }
|
// }
|
||||||
|
|
||||||
pPage->pPager = pPager;
|
pPage->pPager = pPager;
|
||||||
|
}
|
||||||
|
|
||||||
|
// tdbWUnlockPage(pPage);
|
||||||
} else {
|
} else {
|
||||||
ASSERT(pPage->pPager == pPager);
|
ASSERT(pPage->pPager == pPager);
|
||||||
}
|
}
|
||||||
|
@ -302,9 +308,18 @@ int tdbPagerNewPage(SPager *pPager, SPgno *ppgno, SPage **ppPage) {
|
||||||
|
|
||||||
ASSERT(pPage->pPager == NULL);
|
ASSERT(pPage->pPager == NULL);
|
||||||
|
|
||||||
|
// TODO: a race condition problem may occur here
|
||||||
|
|
||||||
|
// tdbWLockPage(pPage);
|
||||||
|
|
||||||
// TODO: zero init the new page
|
// TODO: zero init the new page
|
||||||
// (*initNewPage)(pPage, arg);
|
// (*initNewPage)(pPage, arg);
|
||||||
|
|
||||||
|
pPage->pPager = NULL;
|
||||||
|
|
||||||
|
// tdbWunlockPage(pPage);
|
||||||
|
|
||||||
|
|
||||||
*ppPage = pPage;
|
*ppPage = pPage;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue