pInode 25434 ext/sqlite3/libsqlite/sqlite3.c unixInodeInfo *pInode; /* Info about locks on this inode */ pInode 26642 ext/sqlite3/libsqlite/sqlite3.c unixInodeInfo *pInode = pFile->pInode; pInode 26645 ext/sqlite3/libsqlite/sqlite3.c for(p=pInode->pUnused; p; p=pNext){ pInode 26650 ext/sqlite3/libsqlite/sqlite3.c pInode->pUnused = 0; pInode 26660 ext/sqlite3/libsqlite/sqlite3.c unixInodeInfo *pInode = pFile->pInode; pInode 26662 ext/sqlite3/libsqlite/sqlite3.c if( ALWAYS(pInode) ){ pInode 26663 ext/sqlite3/libsqlite/sqlite3.c pInode->nRef--; pInode 26664 ext/sqlite3/libsqlite/sqlite3.c if( pInode->nRef==0 ){ pInode 26665 ext/sqlite3/libsqlite/sqlite3.c assert( pInode->pShmNode==0 ); pInode 26667 ext/sqlite3/libsqlite/sqlite3.c if( pInode->pPrev ){ pInode 26668 ext/sqlite3/libsqlite/sqlite3.c assert( pInode->pPrev->pNext==pInode ); pInode 26669 ext/sqlite3/libsqlite/sqlite3.c pInode->pPrev->pNext = pInode->pNext; pInode 26671 ext/sqlite3/libsqlite/sqlite3.c assert( inodeList==pInode ); pInode 26672 ext/sqlite3/libsqlite/sqlite3.c inodeList = pInode->pNext; pInode 26674 ext/sqlite3/libsqlite/sqlite3.c if( pInode->pNext ){ pInode 26675 ext/sqlite3/libsqlite/sqlite3.c assert( pInode->pNext->pPrev==pInode ); pInode 26676 ext/sqlite3/libsqlite/sqlite3.c pInode->pNext->pPrev = pInode->pPrev; pInode 26678 ext/sqlite3/libsqlite/sqlite3.c sqlite3_free(pInode); pInode 26701 ext/sqlite3/libsqlite/sqlite3.c unixInodeInfo *pInode = 0; /* Candidate unixInodeInfo object */ pInode 26750 ext/sqlite3/libsqlite/sqlite3.c pInode = inodeList; pInode 26751 ext/sqlite3/libsqlite/sqlite3.c while( pInode && memcmp(&fileId, &pInode->fileId, sizeof(fileId)) ){ pInode 26752 ext/sqlite3/libsqlite/sqlite3.c pInode = pInode->pNext; pInode 26754 ext/sqlite3/libsqlite/sqlite3.c if( pInode==0 ){ pInode 26755 ext/sqlite3/libsqlite/sqlite3.c pInode = sqlite3_malloc64( sizeof(*pInode) ); pInode 26756 ext/sqlite3/libsqlite/sqlite3.c if( pInode==0 ){ pInode 26759 ext/sqlite3/libsqlite/sqlite3.c memset(pInode, 0, sizeof(*pInode)); pInode 26760 ext/sqlite3/libsqlite/sqlite3.c memcpy(&pInode->fileId, &fileId, sizeof(fileId)); pInode 26761 ext/sqlite3/libsqlite/sqlite3.c pInode->nRef = 1; pInode 26762 ext/sqlite3/libsqlite/sqlite3.c pInode->pNext = inodeList; pInode 26763 ext/sqlite3/libsqlite/sqlite3.c pInode->pPrev = 0; pInode 26764 ext/sqlite3/libsqlite/sqlite3.c if( inodeList ) inodeList->pPrev = pInode; pInode 26765 ext/sqlite3/libsqlite/sqlite3.c inodeList = pInode; pInode 26767 ext/sqlite3/libsqlite/sqlite3.c pInode->nRef++; pInode 26769 ext/sqlite3/libsqlite/sqlite3.c *ppInode = pInode; pInode 26778 ext/sqlite3/libsqlite/sqlite3.c return pFile->pInode!=0 && pFile->pId!=pFile->pInode->fileId.pId; pInode 26781 ext/sqlite3/libsqlite/sqlite3.c return pFile->pInode!=0 && pInode 26782 ext/sqlite3/libsqlite/sqlite3.c (osStat(pFile->zPath, &buf)!=0 || buf.st_ino!=pFile->pInode->fileId.ino); pInode 26845 ext/sqlite3/libsqlite/sqlite3.c if( pFile->pInode->eFileLock>SHARED_LOCK ){ pInode 26852 ext/sqlite3/libsqlite/sqlite3.c if( !reserved && !pFile->pInode->bProcessLock ){ pInode 26895 ext/sqlite3/libsqlite/sqlite3.c unixInodeInfo *pInode = pFile->pInode; pInode 26897 ext/sqlite3/libsqlite/sqlite3.c assert( pInode!=0 ); pInode 26898 ext/sqlite3/libsqlite/sqlite3.c if( ((pFile->ctrlFlags & UNIXFILE_EXCL)!=0 || pInode->bProcessLock) pInode 26901 ext/sqlite3/libsqlite/sqlite3.c if( pInode->bProcessLock==0 ){ pInode 26903 ext/sqlite3/libsqlite/sqlite3.c assert( pInode->nLock==0 ); pInode 26910 ext/sqlite3/libsqlite/sqlite3.c pInode->bProcessLock = 1; pInode 26911 ext/sqlite3/libsqlite/sqlite3.c pInode->nLock++; pInode 26986 ext/sqlite3/libsqlite/sqlite3.c unixInodeInfo *pInode; pInode 26993 ext/sqlite3/libsqlite/sqlite3.c azFileLock(pFile->pInode->eFileLock), pFile->pInode->nShared, pInode 27018 ext/sqlite3/libsqlite/sqlite3.c pInode = pFile->pInode; pInode 27023 ext/sqlite3/libsqlite/sqlite3.c if( (pFile->eFileLock!=pInode->eFileLock && pInode 27024 ext/sqlite3/libsqlite/sqlite3.c (pInode->eFileLock>=PENDING_LOCK || eFileLock>SHARED_LOCK)) pInode 27035 ext/sqlite3/libsqlite/sqlite3.c (pInode->eFileLock==SHARED_LOCK || pInode->eFileLock==RESERVED_LOCK) ){ pInode 27038 ext/sqlite3/libsqlite/sqlite3.c assert( pInode->nShared>0 ); pInode 27040 ext/sqlite3/libsqlite/sqlite3.c pInode->nShared++; pInode 27041 ext/sqlite3/libsqlite/sqlite3.c pInode->nLock++; pInode 27072 ext/sqlite3/libsqlite/sqlite3.c assert( pInode->nShared==0 ); pInode 27073 ext/sqlite3/libsqlite/sqlite3.c assert( pInode->eFileLock==0 ); pInode 27101 ext/sqlite3/libsqlite/sqlite3.c pInode->nLock++; pInode 27102 ext/sqlite3/libsqlite/sqlite3.c pInode->nShared = 1; pInode 27104 ext/sqlite3/libsqlite/sqlite3.c }else if( eFileLock==EXCLUSIVE_LOCK && pInode->nShared>1 ){ pInode 27154 ext/sqlite3/libsqlite/sqlite3.c pInode->eFileLock = eFileLock; pInode 27157 ext/sqlite3/libsqlite/sqlite3.c pInode->eFileLock = PENDING_LOCK; pInode 27172 ext/sqlite3/libsqlite/sqlite3.c unixInodeInfo *pInode = pFile->pInode; pInode 27174 ext/sqlite3/libsqlite/sqlite3.c p->pNext = pInode->pUnused; pInode 27175 ext/sqlite3/libsqlite/sqlite3.c pInode->pUnused = p; pInode 27195 ext/sqlite3/libsqlite/sqlite3.c unixInodeInfo *pInode; pInode 27201 ext/sqlite3/libsqlite/sqlite3.c pFile->eFileLock, pFile->pInode->eFileLock, pFile->pInode->nShared, pInode 27209 ext/sqlite3/libsqlite/sqlite3.c pInode = pFile->pInode; pInode 27210 ext/sqlite3/libsqlite/sqlite3.c assert( pInode->nShared!=0 ); pInode 27212 ext/sqlite3/libsqlite/sqlite3.c assert( pInode->eFileLock==pFile->eFileLock ); pInode 27306 ext/sqlite3/libsqlite/sqlite3.c pInode->eFileLock = SHARED_LOCK; pInode 27318 ext/sqlite3/libsqlite/sqlite3.c pInode->nShared--; pInode 27319 ext/sqlite3/libsqlite/sqlite3.c if( pInode->nShared==0 ){ pInode 27324 ext/sqlite3/libsqlite/sqlite3.c pInode->eFileLock = NO_LOCK; pInode 27328 ext/sqlite3/libsqlite/sqlite3.c pInode->eFileLock = NO_LOCK; pInode 27337 ext/sqlite3/libsqlite/sqlite3.c pInode->nLock--; pInode 27338 ext/sqlite3/libsqlite/sqlite3.c assert( pInode->nLock>=0 ); pInode 27339 ext/sqlite3/libsqlite/sqlite3.c if( pInode->nLock==0 ){ pInode 27424 ext/sqlite3/libsqlite/sqlite3.c assert( pFile->pInode->nLock>0 || pFile->pInode->bProcessLock==0 ); pInode 27425 ext/sqlite3/libsqlite/sqlite3.c if( ALWAYS(pFile->pInode) && pFile->pInode->nLock ){ pInode 27924 ext/sqlite3/libsqlite/sqlite3.c sem_t *pSem = pFile->pInode->pSem; pInode 27977 ext/sqlite3/libsqlite/sqlite3.c sem_t *pSem = pFile->pInode->pSem; pInode 28010 ext/sqlite3/libsqlite/sqlite3.c sem_t *pSem = pFile->pInode->pSem; pInode 28167 ext/sqlite3/libsqlite/sqlite3.c if( pFile->pInode->eFileLock>SHARED_LOCK ){ pInode 28223 ext/sqlite3/libsqlite/sqlite3.c unixInodeInfo *pInode = pFile->pInode; pInode 28229 ext/sqlite3/libsqlite/sqlite3.c azFileLock(pInode->eFileLock), pInode->nShared , osGetpid(0))); pInode 28253 ext/sqlite3/libsqlite/sqlite3.c pInode = pFile->pInode; pInode 28258 ext/sqlite3/libsqlite/sqlite3.c if( (pFile->eFileLock!=pInode->eFileLock && pInode 28259 ext/sqlite3/libsqlite/sqlite3.c (pInode->eFileLock>=PENDING_LOCK || eFileLock>SHARED_LOCK)) pInode 28270 ext/sqlite3/libsqlite/sqlite3.c (pInode->eFileLock==SHARED_LOCK || pInode->eFileLock==RESERVED_LOCK) ){ pInode 28273 ext/sqlite3/libsqlite/sqlite3.c assert( pInode->nShared>0 ); pInode 28275 ext/sqlite3/libsqlite/sqlite3.c pInode->nShared++; pInode 28276 ext/sqlite3/libsqlite/sqlite3.c pInode->nLock++; pInode 28302 ext/sqlite3/libsqlite/sqlite3.c assert( pInode->nShared==0 ); pInode 28303 ext/sqlite3/libsqlite/sqlite3.c assert( pInode->eFileLock==0 ); pInode 28309 ext/sqlite3/libsqlite/sqlite3.c pInode->sharedByte = (lk & mask)%(SHARED_SIZE - 1); pInode 28311 ext/sqlite3/libsqlite/sqlite3.c SHARED_FIRST+pInode->sharedByte, 1, 1); pInode 28329 ext/sqlite3/libsqlite/sqlite3.c pInode->nLock++; pInode 28330 ext/sqlite3/libsqlite/sqlite3.c pInode->nShared = 1; pInode 28332 ext/sqlite3/libsqlite/sqlite3.c }else if( eFileLock==EXCLUSIVE_LOCK && pInode->nShared>1 ){ pInode 28357 ext/sqlite3/libsqlite/sqlite3.c pInode->sharedByte, 1, 0)) ){ pInode 28363 ext/sqlite3/libsqlite/sqlite3.c SHARED_FIRST + pInode->sharedByte, 1, 1)) ){ pInode 28382 ext/sqlite3/libsqlite/sqlite3.c pInode->eFileLock = eFileLock; pInode 28385 ext/sqlite3/libsqlite/sqlite3.c pInode->eFileLock = PENDING_LOCK; pInode 28405 ext/sqlite3/libsqlite/sqlite3.c unixInodeInfo *pInode; pInode 28414 ext/sqlite3/libsqlite/sqlite3.c pFile->eFileLock, pFile->pInode->eFileLock, pFile->pInode->nShared, pInode 28422 ext/sqlite3/libsqlite/sqlite3.c pInode = pFile->pInode; pInode 28423 ext/sqlite3/libsqlite/sqlite3.c assert( pInode->nShared!=0 ); pInode 28425 ext/sqlite3/libsqlite/sqlite3.c assert( pInode->eFileLock==pFile->eFileLock ); pInode 28447 ext/sqlite3/libsqlite/sqlite3.c if( rc==SQLITE_OK && (eFileLock==SHARED_LOCK || pInode->nShared>1) ){ pInode 28449 ext/sqlite3/libsqlite/sqlite3.c int sharedLockByte = SHARED_FIRST+pInode->sharedByte; pInode 28464 ext/sqlite3/libsqlite/sqlite3.c if( rc==SQLITE_OK && (eFileLock==SHARED_LOCK || pInode->nShared>1)){ pInode 28465 ext/sqlite3/libsqlite/sqlite3.c pInode->eFileLock = SHARED_LOCK; pInode 28474 ext/sqlite3/libsqlite/sqlite3.c unsigned long long sharedLockByte = SHARED_FIRST+pInode->sharedByte; pInode 28475 ext/sqlite3/libsqlite/sqlite3.c pInode->nShared--; pInode 28476 ext/sqlite3/libsqlite/sqlite3.c if( pInode->nShared==0 ){ pInode 28484 ext/sqlite3/libsqlite/sqlite3.c pInode->eFileLock = NO_LOCK; pInode 28489 ext/sqlite3/libsqlite/sqlite3.c pInode->nLock--; pInode 28490 ext/sqlite3/libsqlite/sqlite3.c assert( pInode->nLock>=0 ); pInode 28491 ext/sqlite3/libsqlite/sqlite3.c if( pInode->nLock==0 ){ pInode 28511 ext/sqlite3/libsqlite/sqlite3.c if( pFile->pInode && pFile->pInode->nLock ){ pInode 29501 ext/sqlite3/libsqlite/sqlite3.c unixInodeInfo *pInode; /* unixInodeInfo that owns this SHM node */ pInode 29563 ext/sqlite3/libsqlite/sqlite3.c pShmNode = pFile->pInode->pShmNode; pInode 29649 ext/sqlite3/libsqlite/sqlite3.c unixShmNode *p = pFd->pInode->pShmNode; pInode 29654 ext/sqlite3/libsqlite/sqlite3.c assert( p->pInode==pFd->pInode ); pInode 29668 ext/sqlite3/libsqlite/sqlite3.c p->pInode->pShmNode = 0; pInode 29712 ext/sqlite3/libsqlite/sqlite3.c unixInodeInfo *pInode; /* The inode of fd */ pInode 29726 ext/sqlite3/libsqlite/sqlite3.c pInode = pDbFd->pInode; pInode 29727 ext/sqlite3/libsqlite/sqlite3.c pShmNode = pInode->pShmNode; pInode 29738 ext/sqlite3/libsqlite/sqlite3.c if( osFstat(pDbFd->h, &sStat) && pInode->bProcessLock==0 ){ pInode 29764 ext/sqlite3/libsqlite/sqlite3.c pDbFd->pInode->pShmNode = pShmNode; pInode 29765 ext/sqlite3/libsqlite/sqlite3.c pShmNode->pInode = pDbFd->pInode; pInode 29772 ext/sqlite3/libsqlite/sqlite3.c if( pInode->bProcessLock==0 ){ pInode 29879 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode->pInode==pDbFd->pInode ); pInode 29880 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode->h>=0 || pDbFd->pInode->bProcessLock==1 ); pInode 29881 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode->h<0 || pDbFd->pInode->bProcessLock==0 ); pInode 30005 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode==pDbFd->pInode->pShmNode ); pInode 30006 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode->pInode==pDbFd->pInode ); pInode 30014 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode->h>=0 || pDbFd->pInode->bProcessLock==1 ); pInode 30015 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode->h<0 || pDbFd->pInode->bProcessLock==0 ); pInode 30133 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode==pDbFd->pInode->pShmNode ); pInode 30134 ext/sqlite3/libsqlite/sqlite3.c assert( pShmNode->pInode==pDbFd->pInode ); pInode 30705 ext/sqlite3/libsqlite/sqlite3.c assert( pNew->pInode==NULL ); pInode 30763 ext/sqlite3/libsqlite/sqlite3.c rc = findInodeInfo(pNew, &pNew->pInode); pInode 30806 ext/sqlite3/libsqlite/sqlite3.c rc = findInodeInfo(pNew, &pNew->pInode); pInode 30840 ext/sqlite3/libsqlite/sqlite3.c rc = findInodeInfo(pNew, &pNew->pInode); pInode 30841 ext/sqlite3/libsqlite/sqlite3.c if( (rc==SQLITE_OK) && (pNew->pInode->pSem==NULL) ){ pInode 30842 ext/sqlite3/libsqlite/sqlite3.c char *zSemName = pNew->pInode->aSemName; pInode 30848 ext/sqlite3/libsqlite/sqlite3.c pNew->pInode->pSem = sem_open(zSemName, O_CREAT, 0666, 1); pInode 30849 ext/sqlite3/libsqlite/sqlite3.c if( pNew->pInode->pSem == SEM_FAILED ){ pInode 30851 ext/sqlite3/libsqlite/sqlite3.c pNew->pInode->aSemName[0] = '\0'; pInode 30995 ext/sqlite3/libsqlite/sqlite3.c unixInodeInfo *pInode; pInode 30998 ext/sqlite3/libsqlite/sqlite3.c pInode = inodeList; pInode 30999 ext/sqlite3/libsqlite/sqlite3.c while( pInode && (pInode->fileId.dev!=sStat.st_dev pInode 31000 ext/sqlite3/libsqlite/sqlite3.c || pInode->fileId.ino!=sStat.st_ino) ){ pInode 31001 ext/sqlite3/libsqlite/sqlite3.c pInode = pInode->pNext; pInode 31003 ext/sqlite3/libsqlite/sqlite3.c if( pInode ){ pInode 31005 ext/sqlite3/libsqlite/sqlite3.c for(pp=&pInode->pUnused; *pp && (*pp)->flags!=flags; pp=&((*pp)->pNext)); pInode 32347 ext/sqlite3/libsqlite/sqlite3.c if( conchFile->pInode && conchFile->pInode->nShared>1 ){