pDbFd 29708 ext/sqlite3/libsqlite/sqlite3.c static int unixOpenSharedMemory(unixFile *pDbFd){ pDbFd 29720 ext/sqlite3/libsqlite/sqlite3.c assert( pDbFd->pShm==0 ); pDbFd 29726 ext/sqlite3/libsqlite/sqlite3.c pInode = pDbFd->pInode; pDbFd 29731 ext/sqlite3/libsqlite/sqlite3.c const char *zBasePath = pDbFd->zPath; pDbFd 29738 ext/sqlite3/libsqlite/sqlite3.c if( osFstat(pDbFd->h, &sStat) && pInode->bProcessLock==0 ){ pDbFd 29761 ext/sqlite3/libsqlite/sqlite3.c sqlite3FileSuffix3(pDbFd->zPath, zShmFilename); pDbFd 29764 ext/sqlite3/libsqlite/sqlite3.c pDbFd->pInode->pShmNode = pShmNode; pDbFd 29765 ext/sqlite3/libsqlite/sqlite3.c pShmNode->pInode = pDbFd->pInode; pDbFd 29774 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3_uri_boolean(pDbFd->zPath, "readonly_shm", 0) ){ pDbFd 29794 ext/sqlite3/libsqlite/sqlite3.c if( unixShmSystemLock(pDbFd, F_WRLCK, UNIX_SHM_DMS, 1)==SQLITE_OK ){ pDbFd 29800 ext/sqlite3/libsqlite/sqlite3.c rc = unixShmSystemLock(pDbFd, F_RDLCK, UNIX_SHM_DMS, 1); pDbFd 29812 ext/sqlite3/libsqlite/sqlite3.c pDbFd->pShm = p; pDbFd 29830 ext/sqlite3/libsqlite/sqlite3.c unixShmPurge(pDbFd); /* This call frees pShmNode if required */ pDbFd 29862 ext/sqlite3/libsqlite/sqlite3.c unixFile *pDbFd = (unixFile*)fd; pDbFd 29870 ext/sqlite3/libsqlite/sqlite3.c if( pDbFd->pShm==0 ){ pDbFd 29871 ext/sqlite3/libsqlite/sqlite3.c rc = unixOpenSharedMemory(pDbFd); pDbFd 29875 ext/sqlite3/libsqlite/sqlite3.c p = pDbFd->pShm; pDbFd 29879 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode->pInode==pDbFd->pInode ); pDbFd 29880 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode->h>=0 || pDbFd->pInode->bProcessLock==1 ); pDbFd 29881 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode->h<0 || pDbFd->pInode->bProcessLock==0 ); pDbFd 29998 ext/sqlite3/libsqlite/sqlite3.c unixFile *pDbFd = (unixFile*)fd; /* Connection holding shared memory */ pDbFd 29999 ext/sqlite3/libsqlite/sqlite3.c unixShm *p = pDbFd->pShm; /* The shared memory being locked */ pDbFd 30005 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode==pDbFd->pInode->pShmNode ); pDbFd 30006 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode->pInode==pDbFd->pInode ); pDbFd 30014 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode->h>=0 || pDbFd->pInode->bProcessLock==1 ); pDbFd 30015 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode->h<0 || pDbFd->pInode->bProcessLock==0 ); pDbFd 30032 ext/sqlite3/libsqlite/sqlite3.c rc = unixShmSystemLock(pDbFd, F_UNLCK, ofst+UNIX_SHM_BASE, n); pDbFd 30060 ext/sqlite3/libsqlite/sqlite3.c rc = unixShmSystemLock(pDbFd, F_RDLCK, ofst+UNIX_SHM_BASE, n); pDbFd 30085 ext/sqlite3/libsqlite/sqlite3.c rc = unixShmSystemLock(pDbFd, F_WRLCK, ofst+UNIX_SHM_BASE, n); pDbFd 30126 ext/sqlite3/libsqlite/sqlite3.c unixFile *pDbFd; /* The underlying database file */ pDbFd 30128 ext/sqlite3/libsqlite/sqlite3.c pDbFd = (unixFile*)fd; pDbFd 30129 ext/sqlite3/libsqlite/sqlite3.c p = pDbFd->pShm; pDbFd 30133 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode==pDbFd->pInode->pShmNode ); pDbFd 30134 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode->pInode==pDbFd->pInode ); pDbFd 30144 ext/sqlite3/libsqlite/sqlite3.c pDbFd->pShm = 0; pDbFd 30156 ext/sqlite3/libsqlite/sqlite3.c unixShmPurge(pDbFd); pDbFd 36790 ext/sqlite3/libsqlite/sqlite3.c static int winOpenSharedMemory(winFile *pDbFd){ pDbFd 36797 ext/sqlite3/libsqlite/sqlite3.c assert( pDbFd->pShm==0 ); /* Not previously opened */ pDbFd 36804 ext/sqlite3/libsqlite/sqlite3.c nName = sqlite3Strlen30(pDbFd->zPath); pDbFd 36811 ext/sqlite3/libsqlite/sqlite3.c sqlite3_snprintf(nName+15, pNew->zFilename, "%s-shm", pDbFd->zPath); pDbFd 36812 ext/sqlite3/libsqlite/sqlite3.c sqlite3FileSuffix3(pDbFd->zPath, pNew->zFilename); pDbFd 36839 ext/sqlite3/libsqlite/sqlite3.c rc = winOpen(pDbFd->pVfs, pDbFd 36855 ext/sqlite3/libsqlite/sqlite3.c "winOpenShm", pDbFd->zPath); pDbFd 36871 ext/sqlite3/libsqlite/sqlite3.c pDbFd->pShm = p; pDbFd 36890 ext/sqlite3/libsqlite/sqlite3.c winShmPurge(pDbFd->pVfs, 0); /* This call frees pShmNode if required */ pDbFd 36905 ext/sqlite3/libsqlite/sqlite3.c winFile *pDbFd; /* Database holding shared-memory */ pDbFd 36910 ext/sqlite3/libsqlite/sqlite3.c pDbFd = (winFile*)fd; pDbFd 36911 ext/sqlite3/libsqlite/sqlite3.c p = pDbFd->pShm; pDbFd 36923 ext/sqlite3/libsqlite/sqlite3.c pDbFd->pShm = 0; pDbFd 36932 ext/sqlite3/libsqlite/sqlite3.c winShmPurge(pDbFd->pVfs, deleteFlag); pDbFd 36948 ext/sqlite3/libsqlite/sqlite3.c winFile *pDbFd = (winFile*)fd; /* Connection holding shared memory */ pDbFd 36949 ext/sqlite3/libsqlite/sqlite3.c winShm *p = pDbFd->pShm; /* The shared memory being locked */ pDbFd 37086 ext/sqlite3/libsqlite/sqlite3.c winFile *pDbFd = (winFile*)fd; pDbFd 37087 ext/sqlite3/libsqlite/sqlite3.c winShm *pShm = pDbFd->pShm; pDbFd 37092 ext/sqlite3/libsqlite/sqlite3.c rc = winOpenSharedMemory(pDbFd); pDbFd 37094 ext/sqlite3/libsqlite/sqlite3.c pShm = pDbFd->pShm; pDbFd 37115 ext/sqlite3/libsqlite/sqlite3.c "winShmMap1", pDbFd->zPath); pDbFd 37130 ext/sqlite3/libsqlite/sqlite3.c "winShmMap2", pDbFd->zPath); pDbFd 37184 ext/sqlite3/libsqlite/sqlite3.c "winShmMap3", pDbFd->zPath); pDbFd 49315 ext/sqlite3/libsqlite/sqlite3.c sqlite3_file *pDbFd; /* File handle for the database file */ pDbFd 49444 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3OsShmMap(pWal->pDbFd, iPage, WALINDEX_PGSZ, pDbFd 49536 ext/sqlite3/libsqlite/sqlite3.c sqlite3OsShmBarrier(pWal->pDbFd); pDbFd 49680 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3OsShmLock(pWal->pDbFd, lockIdx, 1, pDbFd 49689 ext/sqlite3/libsqlite/sqlite3.c (void)sqlite3OsShmLock(pWal->pDbFd, lockIdx, 1, pDbFd 49696 ext/sqlite3/libsqlite/sqlite3.c if( fBlock ) sqlite3OsFileControl(pWal->pDbFd, SQLITE_FCNTL_WAL_BLOCK, 0); pDbFd 49697 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3OsShmLock(pWal->pDbFd, lockIdx, n, pDbFd 49706 ext/sqlite3/libsqlite/sqlite3.c (void)sqlite3OsShmLock(pWal->pDbFd, lockIdx, n, pDbFd 50137 ext/sqlite3/libsqlite/sqlite3.c sqlite3OsShmUnmap(pWal->pDbFd, isDelete); pDbFd 50158 ext/sqlite3/libsqlite/sqlite3.c sqlite3_file *pDbFd, /* The open database file */ pDbFd 50169 ext/sqlite3/libsqlite/sqlite3.c assert( pDbFd ); pDbFd 50192 ext/sqlite3/libsqlite/sqlite3.c pRet->pDbFd = pDbFd; pDbFd 50212 ext/sqlite3/libsqlite/sqlite3.c int iDC = sqlite3OsDeviceCharacteristics(pDbFd); pDbFd 50675 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3OsFileSize(pWal->pDbFd, &nSize); pDbFd 50677 ext/sqlite3/libsqlite/sqlite3.c sqlite3OsFileControlHint(pWal->pDbFd, SQLITE_FCNTL_SIZE_HINT, &nReq); pDbFd 50695 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3OsWrite(pWal->pDbFd, zBuf, szPage, iOffset); pDbFd 50704 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3OsTruncate(pWal->pDbFd, szDb); pDbFd 50706 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3OsSync(pWal->pDbFd, sync_flags); pDbFd 50806 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3OsLock(pWal->pDbFd, SQLITE_LOCK_EXCLUSIVE); pDbFd 50817 ext/sqlite3/libsqlite/sqlite3.c pWal->pDbFd, SQLITE_FCNTL_PERSIST_WAL, &bPersist pDbFd 51926 ext/sqlite3/libsqlite/sqlite3.c if( isChanged && pWal->pDbFd->pMethods->iVersion>=3 ){ pDbFd 51927 ext/sqlite3/libsqlite/sqlite3.c sqlite3OsUnfetch(pWal->pDbFd, 0, 0);