Home | History | Annotate | Download | only in orig

Lines Matching refs:aReadMark

55956 ** There is one entry in aReadMark[] for each reader lock.  If a reader
55957 ** holds read-lock K, then the value in aReadMark[K] is no greater than
55959 ** for any aReadMark[] means that entry is unused. aReadMark[0] is
55961 ** to avoid having to offset aReadMark[] indexs by one. Readers holding
55965 ** The value of aReadMark[K] may only be changed by a thread that
55967 ** aReadMark[K] cannot changed while there is a reader is using that mark
55971 ** the frame numbers are less than or equal to every aReadMark[] that is
55972 ** in use (that is, every aReadMark[j] for which there is a corresponding
55973 ** WAL_READ_LOCK(j)). New readers (usually) pick the aReadMark[] with the
55974 ** largest value and will increase an unused aReadMark[] to mxFrame if there
55975 ** is not already an aReadMark[] equal to mxFrame. The exception to the
55978 ** will choose aReadMark[0] which has value 0 and hence such reader will
55990 ** order to read from any aReadMark[] entries.
55994 u32 aReadMark[WAL_NREADER]; /* Reader marks */
56854 pInfo->aReadMark[0] = 0;
56855 for(i=1; i<WAL_NREADER; i++) pInfo->aReadMark[i] = READMARK_NOT_USED;
56856 if( pWal->hdr.mxFrame ) pInfo->aReadMark[1] = pWal->hdr.mxFrame;
57318 pInfo->aReadMark[1] = 0;
57319 for(i=2; i<WAL_NREADER; i++) pInfo->aReadMark[i] = READMARK_NOT_USED;
57320 assert( pInfo->aReadMark[0]==0 );
57400 ** of the aReadMark[] slot. The assumption here is that if that is
57406 u32 y = pInfo->aReadMark[i];
57411 pInfo->aReadMark[i] = (i==1 ? mxSafeFrame : READMARK_NOT_USED);
57999 ** including frame number aReadMark[pWal->readLock]. The reader will
58008 ** This routine uses the nBackfill and aReadMark[] fields of the header
58011 ** update values of the aReadMark[] array in the header, but if it does
58017 u32 mxReadMark; /* Largest aReadMark[] value */
58018 int mxI; /* Index of largest aReadMark[] value */
58133 ** to select one of the aReadMark[] entries that is closest to
58145 u32 thisMark = pInfo->aReadMark[i];
58158 mxReadMark = pInfo->aReadMark[i] = mxFrame;
58177 ** value in the aReadMark[] array or the contents of the wal-index
58212 if( pInfo->aReadMark[mxI]!=mxReadMark
58339 /* At this point the client has a lock on an aReadMark[] slot holding
58355 assert( pInfo->aReadMark[pWal->readLock]<=pSnapshot->mxFrame );
58366 ** TODO: Does the aReadMark[] lock prevent a checkpointer from doing