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

Simpler fix for the race condition also fixed by [7c102c7b5f]

FossilOrigin-Name: 3c2de820034e01c2e939bd90a05a58159f60df50
This commit is contained in:
dan
2010-06-09 11:28:43 +00:00
parent e4bddc1fab
commit 15651f61df
3 changed files with 9 additions and 8 deletions

View File

@@ -1,5 +1,5 @@
C Close\sdatabase\sopened\sby\stester.tcl\swhen\sit\sis\ssourced\sin\sall.test.\sBecause\stest\sscripts\sare\snow\srun\sin\sslave\sinterpreters,\sthis\sconnection\swas\snot\sbeing\sclosed\sby\sthe\sfirst\sscript\srun\sas\sit\swas\spreviously. C Simpler\sfix\sfor\sthe\srace\scondition\salso\sfixed\sby\s[7c102c7b5f]
D 2010-06-08T15:50:53 D 2010-06-09T11:28:44
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in a5cad1f8f3e021356bfcc6c77dc16f6f1952bbc3 F Makefile.in a5cad1f8f3e021356bfcc6c77dc16f6f1952bbc3
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -224,7 +224,7 @@ F src/vdbeblob.c 5327132a42a91e8b7acfb60b9d2c3b1c5c863e0e
F src/vdbemem.c 2a82f455f6ca6f78b59fb312f96054c04ae0ead1 F src/vdbemem.c 2a82f455f6ca6f78b59fb312f96054c04ae0ead1
F src/vdbetrace.c 864cef96919323482ebd9986f2132435115e9cc2 F src/vdbetrace.c 864cef96919323482ebd9986f2132435115e9cc2
F src/vtab.c a0f8a40274e4261696ef57aa806de2776ab72cda F src/vtab.c a0f8a40274e4261696ef57aa806de2776ab72cda
F src/wal.c d1a6aa3f29c7f4e7ab474264978b7c1030363cb9 F src/wal.c 70edade3677e36afbe8075d4304cca767848ef6c
F src/wal.h 4ace25262452d17e7d3ec970c89ee17794004008 F src/wal.h 4ace25262452d17e7d3ec970c89ee17794004008
F src/walker.c 3112bb3afe1d85dc52317cb1d752055e9a781f8f F src/walker.c 3112bb3afe1d85dc52317cb1d752055e9a781f8f
F src/where.c 75fee9e255b62f773fcadd1d1f25b6f63ac7a356 F src/where.c 75fee9e255b62f773fcadd1d1f25b6f63ac7a356
@@ -817,7 +817,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
P ac4cc2574bafce30390a34f13228380d017791cb P b072e9f69ad5ec68b8ec4c716556070001f885e0
R 94165a325d56a3c31771d4ff81526ca5 R 9421e982987c37bd229515e5e78a5b85
U dan U dan
Z a59bf38e2fc5dc877bae11df4e05677a Z 5d192ec04bfd1c32160d5fae6852d7c2

View File

@@ -1 +1 @@
b072e9f69ad5ec68b8ec4c716556070001f885e0 3c2de820034e01c2e939bd90a05a58159f60df50

View File

@@ -1780,7 +1780,7 @@ static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int cnt){
mxI = 0; mxI = 0;
for(i=1; i<WAL_NREADER; i++){ for(i=1; i<WAL_NREADER; i++){
u32 thisMark = pInfo->aReadMark[i]; u32 thisMark = pInfo->aReadMark[i];
if( mxReadMark<thisMark ){ if( mxReadMark<thisMark && thisMark<=(pWal->hdr.mxFrame+1) ){
mxReadMark = thisMark; mxReadMark = thisMark;
mxI = i; mxI = i;
} }
@@ -1845,6 +1845,7 @@ static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int cnt){
walUnlockShared(pWal, WAL_READ_LOCK(mxI)); walUnlockShared(pWal, WAL_READ_LOCK(mxI));
return WAL_RETRY; return WAL_RETRY;
}else{ }else{
assert( mxReadMark<=(pWal->hdr.mxFrame+1) );
pWal->readLock = mxI; pWal->readLock = mxI;
} }
} }