Lines Matching refs:pFd

4415 static int winMapfile(winFile *pFd, sqlite3_int64 nByte){  argument
4419 assert( nMap>=0 || pFd->nFetchOut==0 );
4421 osGetCurrentProcessId(), pFd, nByte));
4423 if( pFd->nFetchOut>0 ) return SQLITE_OK;
4426 rc = winFileSize((sqlite3_file*)pFd, &nMap);
4429 osGetCurrentProcessId(), pFd));
4433 if( nMap>pFd->mmapSizeMax ){
4434 nMap = pFd->mmapSizeMax;
4438 if( nMap==0 && pFd->mmapSize>0 ){
4439 winUnmapfile(pFd);
4441 if( nMap!=pFd->mmapSize ){
4446 winUnmapfile(pFd);
4448 if( (pFd->ctrlFlags & WINFILE_RDONLY)==0 ){
4454 pFd->hMap = osCreateFileMappingFromApp(pFd->h, NULL, protect, nMap, NULL);
4456 pFd->hMap = osCreateFileMappingW(pFd->h, NULL, protect,
4460 pFd->hMap = osCreateFileMappingA(pFd->h, NULL, protect,
4464 if( pFd->hMap==NULL ){
4465 pFd->lastErrno = osGetLastError();
4466 rc = winLogError(SQLITE_IOERR_MMAP, pFd->lastErrno,
4467 "winMapfile1", pFd->zPath);
4470 osGetCurrentProcessId(), pFd, sqlite3ErrName(rc)));
4476 pNew = osMapViewOfFileFromApp(pFd->hMap, flags, 0, (SIZE_T)nMap);
4478 pNew = osMapViewOfFile(pFd->hMap, flags, 0, 0, (SIZE_T)nMap);
4481 osCloseHandle(pFd->hMap);
4482 pFd->hMap = NULL;
4483 pFd->lastErrno = osGetLastError();
4484 rc = winLogError(SQLITE_IOERR_MMAP, pFd->lastErrno,
4485 "winMapfile2", pFd->zPath);
4488 osGetCurrentProcessId(), pFd, sqlite3ErrName(rc)));
4491 pFd->pMapRegion = pNew;
4492 pFd->mmapSize = nMap;
4496 osGetCurrentProcessId(), pFd));
4515 winFile *pFd = (winFile*)fd; /* The underlying database file */ local
4523 if( pFd->mmapSizeMax>0 ){
4524 if( pFd->pMapRegion==0 ){
4525 int rc = winMapfile(pFd, -1);
4528 osGetCurrentProcessId(), pFd, sqlite3ErrName(rc)));
4532 if( pFd->mmapSize >= iOff+nAmt ){
4533 assert( pFd->pMapRegion!=0 );
4534 *pp = &((u8 *)pFd->pMapRegion)[iOff];
4535 pFd->nFetchOut++;
4557 winFile *pFd = (winFile*)fd; /* The underlying database file */ local
4562 assert( (p==0)==(pFd->nFetchOut==0) );
4565 assert( p==0 || p==&((u8 *)pFd->pMapRegion)[iOff] );
4568 osGetCurrentProcessId(), pFd, iOff, p));
4571 pFd->nFetchOut--;
4577 winUnmapfile(pFd);
4580 assert( pFd->nFetchOut>=0 );