-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-C Remove\sall\scache\spages\sfrom\sthe\sLRU\slist\sprior\sto\sremoving\sthe\spager\sfrom\sthe\npager\slist\swhen\sclosing\sa\spager.
-D 2010-01-30T19:00:55
+C Avoid\sa\srace\scondition\sin\sthe\ssqlite3_release_memory()\slogic\swithin\spager.c.
+D 2010-01-30T19:17:07
F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7
F Makefile.in 79aeba12300a54903f1b1257c1e7c190234045dd
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
F src/os_os2.c 0c3a5802bc4fdb7cb5f66771552b081c4e48a216
F src/os_unix.c a810e2aefdaddacf479407f76f8f4ca381d231b2
F src/os_win.c 3a60bddd07ea6f8adb2314dd5996ac97b988f403
-F src/pager.c ce1e53959413c5e41b9242c3b28800a2bcb1e2ae
+F src/pager.c 3b7e5e4e250deac18b1a0a9ef651debc0690d6ae
F src/pager.h 4f051fd856de6fd3c19aef5f82eace54122b9173
F src/parse.y fc4bd35c6088901f7c8daead26c6fb11c87d22e7
F src/pragma.c 2e4bb2e76e48a32750529fdc4bfe86ac5f54e01b
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
-P c50e972f1bea2e357f64ffd5df868bf51d942e2d
-R 36f835414aa04d98dddf953ed614b296
+P 9d13acc4493ee8be9e6cbf887cd7876d6239b952
+R 25875cbaa3332e847212b49923ec3929
U drh
-Z fffc5f9ba8ca83294c88a45d2f860720
+Z 2718af45d2ca11e075da3a339f4d03bc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
-iD8DBQFLZIHqoxKgR168RlERArFRAJoD8+F7K7rddFbpXj9QxFnE7UaDXwCeINqB
-ifiO8Ws6773K464iIx4YI3I=
-=byhl
+iD8DBQFLZIW2oxKgR168RlERApuGAKCA4g/+5TbRsKOnLtfTD7whFywjuQCcDhRS
+xtMVTORcy2iXShF+utiz32I=
+=WeIu
-----END PGP SIGNATURE-----
while( rc==SQLITE_OK && (nReq<0 || nReleased<nReq) ){
PgHdr *pPg;
- PgHdr *pRecycled;
/* Try to find a page to recycle that does not require a sync(). If
** this is not possible, find one that does require a sync().
if( !pPg ) break;
pPager = pPg->pPager;
- assert(!pPg->needSync || pPg==pPager->lru.pFirst);
- assert(pPg->needSync || pPg==pPager->lru.pFirstSynced);
-
savedBusy = pPager->pBusyHandler;
pPager->pBusyHandler = 0;
- rc = pager_recycle(pPager, &pRecycled);
+ rc = pager_recycle(pPager, &pPg);
pPager->pBusyHandler = savedBusy;
- assert(pRecycled==pPg || rc!=SQLITE_OK);
if( rc==SQLITE_OK ){
/* We've found a page to free. At this point the page has been
** removed from the page hash-table, free-list and synced-list