1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-07 02:42:48 +03:00

If an OOM error occurs just after obtaining a shared lock on the database file, release the lock before returning. (CVS 6795)

FossilOrigin-Name: 971a9650f66f079630489c34e40003eee97d1683
This commit is contained in:
danielk1977
2009-06-22 05:43:24 +00:00
parent aa73609f92
commit 3582c8f7ae
4 changed files with 35 additions and 11 deletions

View File

@@ -18,7 +18,7 @@
** file simultaneously, or one process from reading the database while
** another is writing.
**
** @(#) $Id: pager.c,v 1.600 2009/06/20 18:52:50 danielk1977 Exp $
** @(#) $Id: pager.c,v 1.601 2009/06/22 05:43:24 danielk1977 Exp $
*/
#ifndef SQLITE_OMIT_DISKIO
#include "sqliteInt.h"
@@ -3869,6 +3869,7 @@ int sqlite3PagerAcquire(
rc = sqlite3PcacheFetch(pPager->pPCache, pgno, 1, &pPg);
if( rc!=SQLITE_OK ){
pagerUnlockIfUnused(pPager);
return rc;
}
assert( pPg->pgno==pgno );