1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-15 11:41:13 +03:00

On WinCE, fill in the winFile structure after winceCreateLock has succeeded.

FossilOrigin-Name: ec13544ce336e8a02b34d574ced5912b06c82c0e
This commit is contained in:
mistachkin
2013-02-13 22:54:03 +00:00
parent 4207a3fb9b
commit 9ce59a947f
3 changed files with 21 additions and 25 deletions

View File

@@ -1,5 +1,5 @@
C Add\srecent\sAPI\sadditions\sto\sthe\sextension\smechanism. C On\sWinCE,\sfill\sin\sthe\swinFile\sstructure\safter\swinceCreateLock\shas\ssucceeded.
D 2013-02-13T14:04:28.390 D 2013-02-13T22:54:03.955
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in a48faa9e7dd7d556d84f5456eabe5825dd8a6282 F Makefile.in a48faa9e7dd7d556d84f5456eabe5825dd8a6282
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -161,7 +161,7 @@ F src/os.c e1acdc09ff3ac2412945cca9766e2dcf4675f31c
F src/os.h 027491c77d2404c0a678bb3fb06286f331eb9b57 F src/os.h 027491c77d2404c0a678bb3fb06286f331eb9b57
F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04 F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04
F src/os_unix.c dfdc04b126f7b05dcb2e2cc5c1262f98acbb49d9 F src/os_unix.c dfdc04b126f7b05dcb2e2cc5c1262f98acbb49d9
F src/os_win.c e988c2de4266fbb3b8c58e4b5550a2e17f541327 F src/os_win.c e27fafe8d04841bbe8d925003a4276b80fb59e73
F src/pager.c 4092c907222cfd451c74fe6bd2fd64b342f7190f F src/pager.c 4092c907222cfd451c74fe6bd2fd64b342f7190f
F src/pager.h 1109a06578ec5574dc2c74cf8d9f69daf36fe3e0 F src/pager.h 1109a06578ec5574dc2c74cf8d9f69daf36fe3e0
F src/parse.y 5d5e12772845805fdfeb889163516b84fbb9ae95 F src/parse.y 5d5e12772845805fdfeb889163516b84fbb9ae95
@@ -1034,7 +1034,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
P 2cef8b68f0e1216cf68bb7dd45a5a9a330748070 P 7e10a62d0eb1cb2bdafb6752b78a9d368e9f21f5
R cabc7a2fdbd232266103a87943ce9702 R 6de95ef06bdbb69d4dc56118d603276a
U drh U mistachkin
Z afea31491ba485b5cd581a2534ab702a Z cedfeda70156e3f731cd5d4242d033d6

View File

@@ -1 +1 @@
7e10a62d0eb1cb2bdafb6752b78a9d368e9f21f5 ec13544ce336e8a02b34d574ced5912b06c82c0e

View File

@@ -2076,6 +2076,7 @@ static int winClose(sqlite3_file *id){
assert( pFile->pShm==0 ); assert( pFile->pShm==0 );
#endif #endif
OSTRACE(("CLOSE %d\n", pFile->h)); OSTRACE(("CLOSE %d\n", pFile->h));
assert( pFile->h!=NULL && pFile->h!=INVALID_HANDLE_VALUE );
do{ do{
rc = osCloseHandle(pFile->h); rc = osCloseHandle(pFile->h);
/* SimulateIOError( rc=0; cnt=MX_CLOSE_ATTEMPT; ); */ /* SimulateIOError( rc=0; cnt=MX_CLOSE_ATTEMPT; ); */
@@ -3687,8 +3688,9 @@ static int winOpen(
|| eType==SQLITE_OPEN_TRANSIENT_DB || eType==SQLITE_OPEN_WAL || eType==SQLITE_OPEN_TRANSIENT_DB || eType==SQLITE_OPEN_WAL
); );
assert( id!=0 ); assert( pFile!=0 );
UNUSED_PARAMETER(pVfs); memset(pFile, 0, sizeof(winFile));
pFile->h = INVALID_HANDLE_VALUE;
#if SQLITE_OS_WINRT #if SQLITE_OS_WINRT
if( !sqlite3_temp_directory ){ if( !sqlite3_temp_directory ){
@@ -3697,8 +3699,6 @@ static int winOpen(
} }
#endif #endif
pFile->h = INVALID_HANDLE_VALUE;
/* If the second argument to this function is NULL, generate a /* If the second argument to this function is NULL, generate a
** temporary file name to use ** temporary file name to use
*/ */
@@ -3841,19 +3841,6 @@ static int winOpen(
} }
} }
memset(pFile, 0, sizeof(*pFile));
pFile->pMethod = &winIoMethod;
pFile->h = h;
pFile->lastErrno = NO_ERROR;
pFile->pVfs = pVfs;
#ifndef SQLITE_OMIT_WAL
pFile->pShm = 0;
#endif
pFile->zPath = zName;
if( sqlite3_uri_boolean(zName, "psow", SQLITE_POWERSAFE_OVERWRITE) ){
pFile->ctrlFlags |= WINFILE_PSOW;
}
#if SQLITE_OS_WINCE #if SQLITE_OS_WINCE
if( isReadWrite && eType==SQLITE_OPEN_MAIN_DB if( isReadWrite && eType==SQLITE_OPEN_MAIN_DB
&& (rc = winceCreateLock(zName, pFile))!=SQLITE_OK && (rc = winceCreateLock(zName, pFile))!=SQLITE_OK
@@ -3870,6 +3857,15 @@ static int winOpen(
sqlite3_free(zConverted); sqlite3_free(zConverted);
} }
pFile->pMethod = &winIoMethod;
pFile->pVfs = pVfs;
pFile->h = h;
if( sqlite3_uri_boolean(zName, "psow", SQLITE_POWERSAFE_OVERWRITE) ){
pFile->ctrlFlags |= WINFILE_PSOW;
}
pFile->lastErrno = NO_ERROR;
pFile->zPath = zName;
OpenCounter(+1); OpenCounter(+1);
return rc; return rc;
} }