pShmNode         26522 ext/sqlite3/libsqlite/sqlite3.c   unixShmNode *pShmNode;          /* Shared memory associated with this inode */
pShmNode         26665 ext/sqlite3/libsqlite/sqlite3.c       assert( pInode->pShmNode==0 );
pShmNode         29532 ext/sqlite3/libsqlite/sqlite3.c   unixShmNode *pShmNode;     /* The underlying unixShmNode object */
pShmNode         29558 ext/sqlite3/libsqlite/sqlite3.c   unixShmNode *pShmNode; /* Apply locks to this open shared-memory segment */
pShmNode         29563 ext/sqlite3/libsqlite/sqlite3.c   pShmNode = pFile->pInode->pShmNode;
pShmNode         29564 ext/sqlite3/libsqlite/sqlite3.c   assert( sqlite3_mutex_held(pShmNode->mutex) || pShmNode->nRef==0 );
pShmNode         29572 ext/sqlite3/libsqlite/sqlite3.c   if( pShmNode->h>=0 ){
pShmNode         29582 ext/sqlite3/libsqlite/sqlite3.c     rc = osFcntl(pShmNode->h, lkType, &f);
pShmNode         29595 ext/sqlite3/libsqlite/sqlite3.c       pShmNode->exclMask &= ~mask;
pShmNode         29596 ext/sqlite3/libsqlite/sqlite3.c       pShmNode->sharedMask &= ~mask;
pShmNode         29599 ext/sqlite3/libsqlite/sqlite3.c       pShmNode->exclMask &= ~mask;
pShmNode         29600 ext/sqlite3/libsqlite/sqlite3.c       pShmNode->sharedMask |= mask;
pShmNode         29604 ext/sqlite3/libsqlite/sqlite3.c       pShmNode->exclMask |= mask;
pShmNode         29605 ext/sqlite3/libsqlite/sqlite3.c       pShmNode->sharedMask &= ~mask;
pShmNode         29618 ext/sqlite3/libsqlite/sqlite3.c            pShmNode->sharedMask, pShmNode->exclMask));
pShmNode         29649 ext/sqlite3/libsqlite/sqlite3.c   unixShmNode *p = pFd->pInode->pShmNode;
pShmNode         29668 ext/sqlite3/libsqlite/sqlite3.c     p->pInode->pShmNode = 0;
pShmNode         29710 ext/sqlite3/libsqlite/sqlite3.c   struct unixShmNode *pShmNode;   /* The underlying mmapped file */
pShmNode         29727 ext/sqlite3/libsqlite/sqlite3.c   pShmNode = pInode->pShmNode;
pShmNode         29728 ext/sqlite3/libsqlite/sqlite3.c   if( pShmNode==0 ){
pShmNode         29748 ext/sqlite3/libsqlite/sqlite3.c     pShmNode = sqlite3_malloc64( sizeof(*pShmNode) + nShmFilename );
pShmNode         29749 ext/sqlite3/libsqlite/sqlite3.c     if( pShmNode==0 ){
pShmNode         29753 ext/sqlite3/libsqlite/sqlite3.c     memset(pShmNode, 0, sizeof(*pShmNode)+nShmFilename);
pShmNode         29754 ext/sqlite3/libsqlite/sqlite3.c     zShmFilename = pShmNode->zFilename = (char*)&pShmNode[1];
pShmNode         29763 ext/sqlite3/libsqlite/sqlite3.c     pShmNode->h = -1;
pShmNode         29764 ext/sqlite3/libsqlite/sqlite3.c     pDbFd->pInode->pShmNode = pShmNode;
pShmNode         29765 ext/sqlite3/libsqlite/sqlite3.c     pShmNode->pInode = pDbFd->pInode;
pShmNode         29766 ext/sqlite3/libsqlite/sqlite3.c     pShmNode->mutex = sqlite3_mutex_alloc(SQLITE_MUTEX_FAST);
pShmNode         29767 ext/sqlite3/libsqlite/sqlite3.c     if( pShmNode->mutex==0 ){
pShmNode         29776 ext/sqlite3/libsqlite/sqlite3.c         pShmNode->isReadonly = 1;
pShmNode         29778 ext/sqlite3/libsqlite/sqlite3.c       pShmNode->h = robust_open(zShmFilename, openFlags, (sStat.st_mode&0777));
pShmNode         29779 ext/sqlite3/libsqlite/sqlite3.c       if( pShmNode->h<0 ){
pShmNode         29788 ext/sqlite3/libsqlite/sqlite3.c       osFchown(pShmNode->h, sStat.st_uid, sStat.st_gid);
pShmNode         29795 ext/sqlite3/libsqlite/sqlite3.c         if( robust_ftruncate(pShmNode->h, 0) ){
pShmNode         29807 ext/sqlite3/libsqlite/sqlite3.c   p->pShmNode = pShmNode;
pShmNode         29809 ext/sqlite3/libsqlite/sqlite3.c   p->id = pShmNode->nextShmId++;
pShmNode         29811 ext/sqlite3/libsqlite/sqlite3.c   pShmNode->nRef++;
pShmNode         29822 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_mutex_enter(pShmNode->mutex);
pShmNode         29823 ext/sqlite3/libsqlite/sqlite3.c   p->pNext = pShmNode->pFirst;
pShmNode         29824 ext/sqlite3/libsqlite/sqlite3.c   pShmNode->pFirst = p;
pShmNode         29825 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_mutex_leave(pShmNode->mutex);
pShmNode         29864 ext/sqlite3/libsqlite/sqlite3.c   unixShmNode *pShmNode;
pShmNode         29876 ext/sqlite3/libsqlite/sqlite3.c   pShmNode = p->pShmNode;
pShmNode         29877 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_mutex_enter(pShmNode->mutex);
pShmNode         29878 ext/sqlite3/libsqlite/sqlite3.c   assert( szRegion==pShmNode->szRegion || pShmNode->nRegion==0 );
pShmNode         29879 ext/sqlite3/libsqlite/sqlite3.c   assert( pShmNode->pInode==pDbFd->pInode );
pShmNode         29880 ext/sqlite3/libsqlite/sqlite3.c   assert( pShmNode->h>=0 || pDbFd->pInode->bProcessLock==1 );
pShmNode         29881 ext/sqlite3/libsqlite/sqlite3.c   assert( pShmNode->h<0 || pDbFd->pInode->bProcessLock==0 );
pShmNode         29886 ext/sqlite3/libsqlite/sqlite3.c   if( pShmNode->nRegion<nReqRegion ){
pShmNode         29891 ext/sqlite3/libsqlite/sqlite3.c     pShmNode->szRegion = szRegion;
pShmNode         29893 ext/sqlite3/libsqlite/sqlite3.c     if( pShmNode->h>=0 ){
pShmNode         29898 ext/sqlite3/libsqlite/sqlite3.c       if( osFstat(pShmNode->h, &sStat) ){
pShmNode         29925 ext/sqlite3/libsqlite/sqlite3.c             if( seekAndWriteFd(pShmNode->h, iPg*pgsz + pgsz-1, "", 1, 0)!=1 ){
pShmNode         29926 ext/sqlite3/libsqlite/sqlite3.c               const char *zFile = pShmNode->zFilename;
pShmNode         29937 ext/sqlite3/libsqlite/sqlite3.c         pShmNode->apRegion, nReqRegion*sizeof(char *)
pShmNode         29943 ext/sqlite3/libsqlite/sqlite3.c     pShmNode->apRegion = apNew;
pShmNode         29944 ext/sqlite3/libsqlite/sqlite3.c     while( pShmNode->nRegion<nReqRegion ){
pShmNode         29948 ext/sqlite3/libsqlite/sqlite3.c       if( pShmNode->h>=0 ){
pShmNode         29950 ext/sqlite3/libsqlite/sqlite3.c             pShmNode->isReadonly ? PROT_READ : PROT_READ|PROT_WRITE, 
pShmNode         29951 ext/sqlite3/libsqlite/sqlite3.c             MAP_SHARED, pShmNode->h, szRegion*(i64)pShmNode->nRegion
pShmNode         29954 ext/sqlite3/libsqlite/sqlite3.c           rc = unixLogError(SQLITE_IOERR_SHMMAP, "mmap", pShmNode->zFilename);
pShmNode         29967 ext/sqlite3/libsqlite/sqlite3.c         pShmNode->apRegion[pShmNode->nRegion+i] = &((char*)pMem)[szRegion*i];
pShmNode         29969 ext/sqlite3/libsqlite/sqlite3.c       pShmNode->nRegion += nShmPerMap;
pShmNode         29974 ext/sqlite3/libsqlite/sqlite3.c   if( pShmNode->nRegion>iRegion ){
pShmNode         29975 ext/sqlite3/libsqlite/sqlite3.c     *pp = pShmNode->apRegion[iRegion];
pShmNode         29979 ext/sqlite3/libsqlite/sqlite3.c   if( pShmNode->isReadonly && rc==SQLITE_OK ) rc = SQLITE_READONLY;
pShmNode         29980 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_mutex_leave(pShmNode->mutex);
pShmNode         30001 ext/sqlite3/libsqlite/sqlite3.c   unixShmNode *pShmNode = p->pShmNode;  /* The underlying file iNode */
pShmNode         30005 ext/sqlite3/libsqlite/sqlite3.c   assert( pShmNode==pDbFd->pInode->pShmNode );
pShmNode         30006 ext/sqlite3/libsqlite/sqlite3.c   assert( pShmNode->pInode==pDbFd->pInode );
pShmNode         30014 ext/sqlite3/libsqlite/sqlite3.c   assert( pShmNode->h>=0 || pDbFd->pInode->bProcessLock==1 );
pShmNode         30015 ext/sqlite3/libsqlite/sqlite3.c   assert( pShmNode->h<0 || pDbFd->pInode->bProcessLock==0 );
pShmNode         30019 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_mutex_enter(pShmNode->mutex);
pShmNode         30024 ext/sqlite3/libsqlite/sqlite3.c     for(pX=pShmNode->pFirst; pX; pX=pX->pNext){
pShmNode         30049 ext/sqlite3/libsqlite/sqlite3.c     for(pX=pShmNode->pFirst; pX; pX=pX->pNext){
pShmNode         30074 ext/sqlite3/libsqlite/sqlite3.c     for(pX=pShmNode->pFirst; pX; pX=pX->pNext){
pShmNode         30092 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_mutex_leave(pShmNode->mutex);
pShmNode         30124 ext/sqlite3/libsqlite/sqlite3.c   unixShmNode *pShmNode;          /* The underlying shared-memory file */
pShmNode         30131 ext/sqlite3/libsqlite/sqlite3.c   pShmNode = p->pShmNode;
pShmNode         30133 ext/sqlite3/libsqlite/sqlite3.c   assert( pShmNode==pDbFd->pInode->pShmNode );
pShmNode         30134 ext/sqlite3/libsqlite/sqlite3.c   assert( pShmNode->pInode==pDbFd->pInode );
pShmNode         30138 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_mutex_enter(pShmNode->mutex);
pShmNode         30139 ext/sqlite3/libsqlite/sqlite3.c   for(pp=&pShmNode->pFirst; (*pp)!=p; pp = &(*pp)->pNext){}
pShmNode         30145 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_mutex_leave(pShmNode->mutex);
pShmNode         30150 ext/sqlite3/libsqlite/sqlite3.c   assert( pShmNode->nRef>0 );
pShmNode         30151 ext/sqlite3/libsqlite/sqlite3.c   pShmNode->nRef--;
pShmNode         30152 ext/sqlite3/libsqlite/sqlite3.c   if( pShmNode->nRef==0 ){
pShmNode         30153 ext/sqlite3/libsqlite/sqlite3.c     if( deleteFlag && pShmNode->h>=0 ){
pShmNode         30154 ext/sqlite3/libsqlite/sqlite3.c       osUnlink(pShmNode->zFilename);
pShmNode         36671 ext/sqlite3/libsqlite/sqlite3.c   winShmNode *pShmNode;      /* The underlying winShmNode object */
pShmNode         36792 ext/sqlite3/libsqlite/sqlite3.c   struct winShmNode *pShmNode = 0;   /* The underlying mmapped file */
pShmNode         36805 ext/sqlite3/libsqlite/sqlite3.c   pNew = sqlite3MallocZero( sizeof(*pShmNode) + nName + 17 );
pShmNode         36818 ext/sqlite3/libsqlite/sqlite3.c   for(pShmNode = winShmNodeList; pShmNode; pShmNode=pShmNode->pNext){
pShmNode         36822 ext/sqlite3/libsqlite/sqlite3.c     if( sqlite3StrICmp(pShmNode->zFilename, pNew->zFilename)==0 ) break;
pShmNode         36824 ext/sqlite3/libsqlite/sqlite3.c   if( pShmNode ){
pShmNode         36827 ext/sqlite3/libsqlite/sqlite3.c     pShmNode = pNew;
pShmNode         36829 ext/sqlite3/libsqlite/sqlite3.c     ((winFile*)(&pShmNode->hFile))->h = INVALID_HANDLE_VALUE;
pShmNode         36830 ext/sqlite3/libsqlite/sqlite3.c     pShmNode->pNext = winShmNodeList;
pShmNode         36831 ext/sqlite3/libsqlite/sqlite3.c     winShmNodeList = pShmNode;
pShmNode         36833 ext/sqlite3/libsqlite/sqlite3.c     pShmNode->mutex = sqlite3_mutex_alloc(SQLITE_MUTEX_FAST);
pShmNode         36834 ext/sqlite3/libsqlite/sqlite3.c     if( pShmNode->mutex==0 ){
pShmNode         36840 ext/sqlite3/libsqlite/sqlite3.c                  pShmNode->zFilename,             /* Name of the file (UTF-8) */
pShmNode         36841 ext/sqlite3/libsqlite/sqlite3.c                  (sqlite3_file*)&pShmNode->hFile,  /* File handle here */
pShmNode         36851 ext/sqlite3/libsqlite/sqlite3.c     if( winShmSystemLock(pShmNode, _SHM_WRLCK, WIN_SHM_DMS, 1)==SQLITE_OK ){
pShmNode         36852 ext/sqlite3/libsqlite/sqlite3.c       rc = winTruncate((sqlite3_file *)&pShmNode->hFile, 0);
pShmNode         36859 ext/sqlite3/libsqlite/sqlite3.c       winShmSystemLock(pShmNode, _SHM_UNLCK, WIN_SHM_DMS, 1);
pShmNode         36860 ext/sqlite3/libsqlite/sqlite3.c       rc = winShmSystemLock(pShmNode, _SHM_RDLCK, WIN_SHM_DMS, 1);
pShmNode         36866 ext/sqlite3/libsqlite/sqlite3.c   p->pShmNode = pShmNode;
pShmNode         36868 ext/sqlite3/libsqlite/sqlite3.c   p->id = pShmNode->nextShmId++;
pShmNode         36870 ext/sqlite3/libsqlite/sqlite3.c   pShmNode->nRef++;
pShmNode         36881 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_mutex_enter(pShmNode->mutex);
pShmNode         36882 ext/sqlite3/libsqlite/sqlite3.c   p->pNext = pShmNode->pFirst;
pShmNode         36883 ext/sqlite3/libsqlite/sqlite3.c   pShmNode->pFirst = p;
pShmNode         36884 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_mutex_leave(pShmNode->mutex);
pShmNode         36889 ext/sqlite3/libsqlite/sqlite3.c   winShmSystemLock(pShmNode, _SHM_UNLCK, WIN_SHM_DMS, 1);
pShmNode         36907 ext/sqlite3/libsqlite/sqlite3.c   winShmNode *pShmNode; /* The underlying shared-memory file */
pShmNode         36913 ext/sqlite3/libsqlite/sqlite3.c   pShmNode = p->pShmNode;
pShmNode         36917 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_mutex_enter(pShmNode->mutex);
pShmNode         36918 ext/sqlite3/libsqlite/sqlite3.c   for(pp=&pShmNode->pFirst; (*pp)!=p; pp = &(*pp)->pNext){}
pShmNode         36924 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_mutex_leave(pShmNode->mutex);
pShmNode         36929 ext/sqlite3/libsqlite/sqlite3.c   assert( pShmNode->nRef>0 );
pShmNode         36930 ext/sqlite3/libsqlite/sqlite3.c   pShmNode->nRef--;
pShmNode         36931 ext/sqlite3/libsqlite/sqlite3.c   if( pShmNode->nRef==0 ){
pShmNode         36951 ext/sqlite3/libsqlite/sqlite3.c   winShmNode *pShmNode = p->pShmNode;
pShmNode         36965 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_mutex_enter(pShmNode->mutex);
pShmNode         36970 ext/sqlite3/libsqlite/sqlite3.c     for(pX=pShmNode->pFirst; pX; pX=pX->pNext){
pShmNode         36978 ext/sqlite3/libsqlite/sqlite3.c       rc = winShmSystemLock(pShmNode, _SHM_UNLCK, ofst+WIN_SHM_BASE, n);
pShmNode         36995 ext/sqlite3/libsqlite/sqlite3.c     for(pX=pShmNode->pFirst; pX; pX=pX->pNext){
pShmNode         37006 ext/sqlite3/libsqlite/sqlite3.c         rc = winShmSystemLock(pShmNode, _SHM_RDLCK, ofst+WIN_SHM_BASE, n);
pShmNode         37020 ext/sqlite3/libsqlite/sqlite3.c     for(pX=pShmNode->pFirst; pX; pX=pX->pNext){
pShmNode         37031 ext/sqlite3/libsqlite/sqlite3.c       rc = winShmSystemLock(pShmNode, _SHM_WRLCK, ofst+WIN_SHM_BASE, n);
pShmNode         37038 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_mutex_leave(pShmNode->mutex);
pShmNode         37088 ext/sqlite3/libsqlite/sqlite3.c   winShmNode *pShmNode;
pShmNode         37096 ext/sqlite3/libsqlite/sqlite3.c   pShmNode = pShm->pShmNode;
pShmNode         37098 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_mutex_enter(pShmNode->mutex);
pShmNode         37099 ext/sqlite3/libsqlite/sqlite3.c   assert( szRegion==pShmNode->szRegion || pShmNode->nRegion==0 );
pShmNode         37101 ext/sqlite3/libsqlite/sqlite3.c   if( pShmNode->nRegion<=iRegion ){
pShmNode         37106 ext/sqlite3/libsqlite/sqlite3.c     pShmNode->szRegion = szRegion;
pShmNode         37112 ext/sqlite3/libsqlite/sqlite3.c     rc = winFileSize((sqlite3_file *)&pShmNode->hFile, &sz);
pShmNode         37127 ext/sqlite3/libsqlite/sqlite3.c       rc = winTruncate((sqlite3_file *)&pShmNode->hFile, nByte);
pShmNode         37137 ext/sqlite3/libsqlite/sqlite3.c         pShmNode->aRegion, (iRegion+1)*sizeof(apNew[0])
pShmNode         37143 ext/sqlite3/libsqlite/sqlite3.c     pShmNode->aRegion = apNew;
pShmNode         37145 ext/sqlite3/libsqlite/sqlite3.c     while( pShmNode->nRegion<=iRegion ){
pShmNode         37150 ext/sqlite3/libsqlite/sqlite3.c       hMap = osCreateFileMappingFromApp(pShmNode->hFile.h,
pShmNode         37154 ext/sqlite3/libsqlite/sqlite3.c       hMap = osCreateFileMappingW(pShmNode->hFile.h,
pShmNode         37158 ext/sqlite3/libsqlite/sqlite3.c       hMap = osCreateFileMappingA(pShmNode->hFile.h,
pShmNode         37163 ext/sqlite3/libsqlite/sqlite3.c                osGetCurrentProcessId(), pShmNode->nRegion, nByte,
pShmNode         37166 ext/sqlite3/libsqlite/sqlite3.c         int iOffset = pShmNode->nRegion*szRegion;
pShmNode         37178 ext/sqlite3/libsqlite/sqlite3.c                  osGetCurrentProcessId(), pShmNode->nRegion, iOffset,
pShmNode         37182 ext/sqlite3/libsqlite/sqlite3.c         pShmNode->lastErrno = osGetLastError();
pShmNode         37183 ext/sqlite3/libsqlite/sqlite3.c         rc = winLogError(SQLITE_IOERR_SHMMAP, pShmNode->lastErrno,
pShmNode         37189 ext/sqlite3/libsqlite/sqlite3.c       pShmNode->aRegion[pShmNode->nRegion].pMap = pMap;
pShmNode         37190 ext/sqlite3/libsqlite/sqlite3.c       pShmNode->aRegion[pShmNode->nRegion].hMap = hMap;
pShmNode         37191 ext/sqlite3/libsqlite/sqlite3.c       pShmNode->nRegion++;
pShmNode         37196 ext/sqlite3/libsqlite/sqlite3.c   if( pShmNode->nRegion>iRegion ){
pShmNode         37199 ext/sqlite3/libsqlite/sqlite3.c     char *p = (char *)pShmNode->aRegion[iRegion].pMap;
pShmNode         37204 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_mutex_leave(pShmNode->mutex);