Fix a potential infinite loop (inserted by the previous check-in)
on the multiplexWrite() method of the multiplexor. FossilOrigin-Name: 022bf427c2edfe494ec7c222f436953ff56574a6
This commit is contained in:
parent
e7d9f13d99
commit
0699966798
12
manifest
12
manifest
@ -1,5 +1,5 @@
|
||||
C The\sxTruncate\smethod\sfor\sthe\smultiplexor\snow\schanges\ssurplus\soverflow\nfiles\sto\szero-length\sby\sdefault.\s\sOr\sif\sthe\s"truncate"\squery\sparameter\s\nis\sused,\sit\sactually\sdeletes\sthe\ssurplus\soverflow\sfiles.\s\sThis\sallows\nVACUUM\sto\sshrink\sthe\sdatabase\sagain.
|
||||
D 2011-12-16T04:57:32.390
|
||||
C Fix\sa\spotential\sinfinite\sloop\s(inserted\sby\sthe\sprevious\scheck-in)\non\sthe\smultiplexWrite()\smethod\sof\sthe\smultiplexor.
|
||||
D 2011-12-16T05:09:46.415
|
||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||
F Makefile.in 5b4a3e12a850b021547e43daf886b25133b44c07
|
||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||
@ -214,7 +214,7 @@ F src/test_intarray.h 489edb9068bb926583445cb02589344961054207
|
||||
F src/test_journal.c 03313c693cca72959dcaaf79f8d76f21c01e19ff
|
||||
F src/test_loadext.c df586c27176e3c2cb2e099c78da67bf14379a56e
|
||||
F src/test_malloc.c 8d416f29ad8573f32601f6056c9d2b17472e9ad5
|
||||
F src/test_multiplex.c 993f930c9c8e1aa0f4fe7b5a74c9a60fbf3447e4
|
||||
F src/test_multiplex.c ccc5f2feae52c4fbef1a88205667a6bcf2078844
|
||||
F src/test_multiplex.h e99c571bc4968b7a9363b661481f3934bfead61d
|
||||
F src/test_mutex.c a6bd7b9cf6e19d989e31392b06ac8d189f0d573e
|
||||
F src/test_onefile.c 40cf9e212a377a6511469384a64b01e6e34b2eec
|
||||
@ -978,7 +978,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06
|
||||
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
||||
F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a
|
||||
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
|
||||
P e9177f7d4ec19f0841d0613990d2fb5725700ba1
|
||||
R c09d355f93cdab856d4274295151320d
|
||||
P 5aefef04d6cc3b734c3f05e036b3869a52248f4d
|
||||
R 8d7b158bf3a519193898c5ead6ba7790
|
||||
U drh
|
||||
Z 4efbc5088c9568c2b7090122e09b39c8
|
||||
Z d8c8d1df41588adf9be8799f58ddd721
|
||||
|
@ -1 +1 @@
|
||||
5aefef04d6cc3b734c3f05e036b3869a52248f4d
|
||||
022bf427c2edfe494ec7c222f436953ff56574a6
|
@ -305,7 +305,7 @@ static sqlite3_file *multiplexSubOpen(
|
||||
|
||||
*rc = multiplexSubFilename(pGroup, iChunk);
|
||||
if( (*rc)==SQLITE_OK && (pSubOpen = pGroup->aReal[iChunk].p)==0 ){
|
||||
int flags, rc2, bExists;
|
||||
int flags, bExists;
|
||||
if( iChunk==0 ) createFlag = (pGroup->flags & SQLITE_OPEN_CREATE)!=0;
|
||||
flags = pGroup->flags;
|
||||
if( createFlag ){
|
||||
@ -324,9 +324,9 @@ static sqlite3_file *multiplexSubOpen(
|
||||
return 0;
|
||||
}
|
||||
pGroup->aReal[iChunk].p = pSubOpen;
|
||||
rc2 = pOrigVfs->xOpen(pOrigVfs, pGroup->aReal[iChunk].z, pSubOpen,
|
||||
*rc = pOrigVfs->xOpen(pOrigVfs, pGroup->aReal[iChunk].z, pSubOpen,
|
||||
flags, pOutFlags);
|
||||
if( rc2!=SQLITE_OK ){
|
||||
if( (*rc)!=SQLITE_OK ){
|
||||
sqlite3_free(pSubOpen);
|
||||
pGroup->aReal[iChunk].p = 0;
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user