Adjustments to the page cache to try to avoid harmless TSAN warnings.
FossilOrigin-Name: 383437be276719ac1c72688ae81017c63907ac561f2ffb8e42c43b012248f294
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
C Improved\sdatabase\scorruption\sdetection\sin\sthe\sdbstat\svirtual\stable.
|
||||
D 2019-01-09T11:19:41.490
|
||||
C Adjustments\sto\sthe\spage\scache\sto\stry\sto\savoid\sharmless\sTSAN\swarnings.
|
||||
D 2019-01-09T14:49:58.180
|
||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||
F Makefile.in d8b254f8bb81bab43c340d70d17dc3babab40fcc8a348c8255881f780a45fee6
|
||||
@@ -504,7 +504,7 @@ F src/pager.h 217921e81eb5fe455caa5cda96061959706bcdd29ddb57166198645ef7822ac3
|
||||
F src/parse.y a3c0db595bc642c6ee1d72869842f7f5b0b6ebeb91c21d0a7cba631d27e7afbd
|
||||
F src/pcache.c 696a01f1a6370c1b50a09c15972bc3bee3333f8fcd1f2da8e9a76b1b062c59ee
|
||||
F src/pcache.h 4f87acd914cef5016fae3030343540d75f5b85a1877eed1a2a19b9f284248586
|
||||
F src/pcache1.c ddc9fc7d9861cf3a1f30660264b76b1ae9e1dce5dbba085cf001d5cb6b41cf8c
|
||||
F src/pcache1.c fffd5250a323579384a3b3904302b9fe87e186ba24602af3013f749a0234ae98
|
||||
F src/pragma.c 20811b404b6d302a1bedd4b8af8aab2794c5e87ba1f5cb6b42dbc3266ad9c603
|
||||
F src/pragma.h fdd03d78a7497f74a3f652909f945328480089189526841ae829ce7313d98d13
|
||||
F src/prepare.c 18f1d2801ffb48b83fddf83375389886c788e98fdfb87eabe988cf53893602c7
|
||||
@@ -1797,7 +1797,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||
P 9d4c156fa26f80bb8f88b6ad8f24520a15af296de9c110604f6bd42c257455a0
|
||||
R 08f271c3d2a22f68d05d7a10015b5079
|
||||
P fc5ecc88f8a0855ba90039177ee284721b2035e4de56a1024e323216f011f0af
|
||||
R 6ed50b6875990a4b9a765f1f68bf10cd
|
||||
U drh
|
||||
Z 03110852217ebc64011b15a7274dc701
|
||||
Z 1ecb4b75bf2b55e36bc746d9d8508d17
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
fc5ecc88f8a0855ba90039177ee284721b2035e4de56a1024e323216f011f0af
|
||||
383437be276719ac1c72688ae81017c63907ac561f2ffb8e42c43b012248f294
|
||||
+2
-2
@@ -168,6 +168,7 @@ struct PCache1 {
|
||||
unsigned int nMax; /* Configured "cache_size" value */
|
||||
unsigned int n90pct; /* nMax*9/10 */
|
||||
unsigned int iMaxKey; /* Largest key seen since xTruncate() */
|
||||
unsigned int nPurgeableDummy; /* pnPurgeable points here when not used*/
|
||||
|
||||
/* Hash table of all pages. The following variables may only be accessed
|
||||
** when the accessor is holding the PGroup mutex.
|
||||
@@ -785,8 +786,7 @@ static sqlite3_pcache *pcache1Create(int szPage, int szExtra, int bPurgeable){
|
||||
pGroup->mxPinned = pGroup->nMaxPage + 10 - pGroup->nMinPage;
|
||||
pCache->pnPurgeable = &pGroup->nPurgeable;
|
||||
}else{
|
||||
static unsigned int dummyCurrentPage;
|
||||
pCache->pnPurgeable = &dummyCurrentPage;
|
||||
pCache->pnPurgeable = &pCache->nPurgeableDummy;
|
||||
}
|
||||
pcache1LeaveMutex(pGroup);
|
||||
if( pCache->nHash==0 ){
|
||||
|
||||
Reference in New Issue
Block a user