diff --git a/manifest b/manifest index 10e659c7fb..7c5afd1dcd 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Remove\sinstances\sof\sstrcpy()\sfrom\stest\scode.\sUse\smemcpy()\sor\nsqlite3_snprintf()\sinstead.\s(CVS\s4801) -D 2008-02-19T18:29:07 +C Make\smultiple\sattempts\sto\sdelete\sfiles\smarked\sDELETE_ON_CLOSE\sunder\nWinCE.\s\sTicket\s#2950.\s(CVS\s4802) +D 2008-02-20T00:00:00 F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7 F Makefile.in bc2b5df3e3d0d4b801b824b7ef6dec43812b049b F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -125,7 +125,7 @@ F src/os_test.c 49833426101f99aee4bb5f6a44b7c4b2029fda1c F src/os_test.h 903c93554c23d88f34f667f1979e4a1cee792af3 F src/os_unix.c e4daef7628f690fa2b188af3632fb18f96525946 F src/os_unix.h 5768d56d28240d3fe4537fac08cc85e4fb52279e -F src/os_win.c c832d528ea774c7094d887749d71884984c9034c +F src/os_win.c aa3f4bbee3b8c182d25a33fbc319f486857c12c1 F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b F src/pager.c caa7c06d6c98df0fc6e0e797ee9cef7420fb59fa F src/pager.h 8174615ffd14ccc2cad2b081b919a398fa95e3f9 @@ -621,7 +621,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P 68f5ddddf0d1b5c8ed97dda0a32362a55637b5f2 -R 95dcd7a2db6ff273a951495091bfa925 +P 7b50140dc0fb41a1b40c8709d96e214d98b06f81 +R 9e4a40f76c1bf3608621dd453b2ad829 U drh -Z 94dde115ea93b6ad849adc1b17145e45 +Z 92b5a213c6c415d6012472fd23b27c6c diff --git a/manifest.uuid b/manifest.uuid index 20e9046848..cab4ed5af6 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7b50140dc0fb41a1b40c8709d96e214d98b06f81 \ No newline at end of file +5bc8e564e3499ada01a6c3d74b1e6d6906d2a118 \ No newline at end of file diff --git a/src/os_win.c b/src/os_win.c index e5555f1275..d99c909ea4 100644 --- a/src/os_win.c +++ b/src/os_win.c @@ -606,9 +606,17 @@ static int winClose(sqlite3_file *id){ rc = CloseHandle(pFile->h); }while( rc==0 && cnt++ < MX_CLOSE_ATTEMPT && (Sleep(100), 1) ); #if OS_WINCE +#define WINCE_DELETION_ATTEMPTS 3 winceDestroyLock(pFile); if( pFile->zDeleteOnClose ){ - DeleteFileW(pFile->zDeleteOnClose); + int cnt = 0; + while( + DeleteFileW(pFile->zDeleteOnClose)==0 + && GetFileAttributesW(pFile->zDeleteOnClose)!=0xffffffff + && cnt++ < WINCE_DELETION_ATTEMPTS + ){ + Sleep(100); /* Wait a little before trying again */ + } free(pFile->zDeleteOnClose); } #endif