mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-10 01:02:56 +03:00
Fix comment inside the pager_unlock() routine. Always close the master
journal file before trying to delete it. FossilOrigin-Name: f820b815c9bff368eb1ccb850966a812151e610e
This commit is contained in:
24
manifest
24
manifest
@@ -1,5 +1,8 @@
|
|||||||
C Add\stest\scases\sto\spager1.test\sand\spager2.test.
|
-----BEGIN PGP SIGNED MESSAGE-----
|
||||||
D 2010-06-21T18:29:41
|
Hash: SHA1
|
||||||
|
|
||||||
|
C Fix\scomment\sinside\sthe\spager_unlock()\sroutine.\s\sAlways\sclose\sthe\smaster\njournal\sfile\sbefore\strying\sto\sdelete\sit.
|
||||||
|
D 2010-06-21T20:19:25
|
||||||
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
|
||||||
@@ -156,7 +159,7 @@ F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f
|
|||||||
F src/os_os2.c 665876d5eec7585226b0a1cf5e18098de2b2da19
|
F src/os_os2.c 665876d5eec7585226b0a1cf5e18098de2b2da19
|
||||||
F src/os_unix.c 5231a75a3799872b1250bc70c0e6a1a5960bc865
|
F src/os_unix.c 5231a75a3799872b1250bc70c0e6a1a5960bc865
|
||||||
F src/os_win.c 73608839342de32280cb378d3c2fc85a5dd80bd2
|
F src/os_win.c 73608839342de32280cb378d3c2fc85a5dd80bd2
|
||||||
F src/pager.c 9f138b79b47090c1e31efe3d9ea191cc92981643
|
F src/pager.c 50659082fb56c0cda9e8902b998786b6ea5403c4
|
||||||
F src/pager.h ca1f23c0cf137ac26f8908df2427c8b308361efd
|
F src/pager.h ca1f23c0cf137ac26f8908df2427c8b308361efd
|
||||||
F src/parse.y ace5c7a125d9f2a410e431ee3209034105045f7e
|
F src/parse.y ace5c7a125d9f2a410e431ee3209034105045f7e
|
||||||
F src/pcache.c 1e9aa2dbc0845b52e1b51cc39753b6d1e041cb07
|
F src/pcache.c 1e9aa2dbc0845b52e1b51cc39753b6d1e041cb07
|
||||||
@@ -825,7 +828,14 @@ 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 ee0acef1faffd480fd2136f81fb2b6f6a17b5388
|
P cc9ddae6d72b214f52b8949e644b91f4ab340a28
|
||||||
R 998ebf709f9a701de3ca0479eb0006bb
|
R c5ccd1948c0c334bd6a1ed7f02abbdee
|
||||||
U dan
|
U drh
|
||||||
Z 7d285ff240ba302f82034a80af5fa58d
|
Z 8f5880ea853084ff86e604f4db1b6c3e
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v1.4.6 (GNU/Linux)
|
||||||
|
|
||||||
|
iD8DBQFMH8lQoxKgR168RlERApKRAJ9SPWJEFbmQKR6sihCEP+Zoix7qTwCfZKqE
|
||||||
|
6//AcgL4bQctlb6kAqmxWFE=
|
||||||
|
=6D6c
|
||||||
|
-----END PGP SIGNATURE-----
|
||||||
|
@@ -1 +1 @@
|
|||||||
cc9ddae6d72b214f52b8949e644b91f4ab340a28
|
f820b815c9bff368eb1ccb850966a812151e610e
|
12
src/pager.c
12
src/pager.c
@@ -1221,9 +1221,10 @@ static void pager_unlock(Pager *pPager){
|
|||||||
int rc = SQLITE_OK; /* Return code */
|
int rc = SQLITE_OK; /* Return code */
|
||||||
int iDc = isOpen(pPager->fd)?sqlite3OsDeviceCharacteristics(pPager->fd):0;
|
int iDc = isOpen(pPager->fd)?sqlite3OsDeviceCharacteristics(pPager->fd):0;
|
||||||
|
|
||||||
/* Always close the journal file when dropping the database lock.
|
/* If the operating system support deletion of open files, then
|
||||||
** Otherwise, another connection with journal_mode=delete might
|
** close the journal file when dropping the database lock. Otherwise
|
||||||
** delete the file out from under us.
|
** another connection with journal_mode=delete might delete the file
|
||||||
|
** out from under us.
|
||||||
*/
|
*/
|
||||||
assert( (PAGER_JOURNALMODE_MEMORY & 5)!=1 );
|
assert( (PAGER_JOURNALMODE_MEMORY & 5)!=1 );
|
||||||
assert( (PAGER_JOURNALMODE_OFF & 5)!=1 );
|
assert( (PAGER_JOURNALMODE_OFF & 5)!=1 );
|
||||||
@@ -1864,7 +1865,8 @@ static int pager_delmaster(Pager *pPager, const char *zMaster){
|
|||||||
zJournal += (sqlite3Strlen30(zJournal)+1);
|
zJournal += (sqlite3Strlen30(zJournal)+1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sqlite3OsClose(pMaster);
|
||||||
rc = sqlite3OsDelete(pVfs, zMaster, 0);
|
rc = sqlite3OsDelete(pVfs, zMaster, 0);
|
||||||
|
|
||||||
delmaster_out:
|
delmaster_out:
|
||||||
@@ -1874,8 +1876,8 @@ delmaster_out:
|
|||||||
if( pMaster ){
|
if( pMaster ){
|
||||||
sqlite3OsClose(pMaster);
|
sqlite3OsClose(pMaster);
|
||||||
assert( !isOpen(pJournal) );
|
assert( !isOpen(pJournal) );
|
||||||
|
sqlite3_free(pMaster);
|
||||||
}
|
}
|
||||||
sqlite3_free(pMaster);
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user