mem0 18083 sqlite3/libsqlite/sqlite3.c } mem0 = { 0, 0, 0, 0, 0, 0, 0, 0 };
mem0 18085 sqlite3/libsqlite/sqlite3.c #define mem0 GLOBAL(struct Mem0Global, mem0)
mem0 18110 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_enter(mem0.mutex);
mem0 18111 sqlite3/libsqlite/sqlite3.c mem0.alarmCallback = xCallback;
mem0 18112 sqlite3/libsqlite/sqlite3.c mem0.alarmArg = pArg;
mem0 18113 sqlite3/libsqlite/sqlite3.c mem0.alarmThreshold = iThreshold;
mem0 18115 sqlite3/libsqlite/sqlite3.c mem0.nearlyFull = (iThreshold>0 && iThreshold<=nUsed);
mem0 18116 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_leave(mem0.mutex);
mem0 18144 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_enter(mem0.mutex);
mem0 18145 sqlite3/libsqlite/sqlite3.c priorLimit = mem0.alarmThreshold;
mem0 18146 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_leave(mem0.mutex);
mem0 18169 sqlite3/libsqlite/sqlite3.c memset(&mem0, 0, sizeof(mem0));
mem0 18171 sqlite3/libsqlite/sqlite3.c mem0.mutex = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MEM);
mem0 18181 sqlite3/libsqlite/sqlite3.c mem0.pScratchFree = pSlot;
mem0 18182 sqlite3/libsqlite/sqlite3.c mem0.nScratchFree = n;
mem0 18188 sqlite3/libsqlite/sqlite3.c mem0.pScratchEnd = (void*)&pSlot[1];
mem0 18190 sqlite3/libsqlite/sqlite3.c mem0.pScratchEnd = 0;
mem0 18210 sqlite3/libsqlite/sqlite3.c return mem0.nearlyFull;
mem0 18220 sqlite3/libsqlite/sqlite3.c memset(&mem0, 0, sizeof(mem0));
mem0 18254 sqlite3/libsqlite/sqlite3.c if( mem0.alarmCallback==0 ) return;
mem0 18255 sqlite3/libsqlite/sqlite3.c xCallback = mem0.alarmCallback;
mem0 18257 sqlite3/libsqlite/sqlite3.c pArg = mem0.alarmArg;
mem0 18258 sqlite3/libsqlite/sqlite3.c mem0.alarmCallback = 0;
mem0 18259 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_leave(mem0.mutex);
mem0 18261 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_enter(mem0.mutex);
mem0 18262 sqlite3/libsqlite/sqlite3.c mem0.alarmCallback = xCallback;
mem0 18263 sqlite3/libsqlite/sqlite3.c mem0.alarmArg = pArg;
mem0 18273 sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_held(mem0.mutex) );
mem0 18276 sqlite3/libsqlite/sqlite3.c if( mem0.alarmCallback!=0 ){
mem0 18278 sqlite3/libsqlite/sqlite3.c if( nUsed >= mem0.alarmThreshold - nFull ){
mem0 18279 sqlite3/libsqlite/sqlite3.c mem0.nearlyFull = 1;
mem0 18282 sqlite3/libsqlite/sqlite3.c mem0.nearlyFull = 0;
mem0 18287 sqlite3/libsqlite/sqlite3.c if( p==0 && mem0.alarmCallback ){
mem0 18317 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_enter(mem0.mutex);
mem0 18319 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_leave(mem0.mutex);
mem0 18362 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_enter(mem0.mutex);
mem0 18363 sqlite3/libsqlite/sqlite3.c if( mem0.nScratchFree && sqlite3GlobalConfig.szScratch>=n ){
mem0 18364 sqlite3/libsqlite/sqlite3.c p = mem0.pScratchFree;
mem0 18365 sqlite3/libsqlite/sqlite3.c mem0.pScratchFree = mem0.pScratchFree->pNext;
mem0 18366 sqlite3/libsqlite/sqlite3.c mem0.nScratchFree--;
mem0 18369 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_leave(mem0.mutex);
mem0 18375 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_leave(mem0.mutex);
mem0 18377 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_leave(mem0.mutex);
mem0 18382 sqlite3/libsqlite/sqlite3.c assert( sqlite3_mutex_notheld(mem0.mutex) );
mem0 18408 sqlite3/libsqlite/sqlite3.c if( p>=sqlite3GlobalConfig.pScratch && p<mem0.pScratchEnd ){
mem0 18412 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_enter(mem0.mutex);
mem0 18413 sqlite3/libsqlite/sqlite3.c pSlot->pNext = mem0.pScratchFree;
mem0 18414 sqlite3/libsqlite/sqlite3.c mem0.pScratchFree = pSlot;
mem0 18415 sqlite3/libsqlite/sqlite3.c mem0.nScratchFree++;
mem0 18416 sqlite3/libsqlite/sqlite3.c assert( mem0.nScratchFree <= (u32)sqlite3GlobalConfig.nScratch );
mem0 18418 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_leave(mem0.mutex);
mem0 18426 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_enter(mem0.mutex);
mem0 18431 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_leave(mem0.mutex);
mem0 18479 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_enter(mem0.mutex);
mem0 18483 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_leave(mem0.mutex);
mem0 18540 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_enter(mem0.mutex);
mem0 18544 sqlite3/libsqlite/sqlite3.c mem0.alarmThreshold-nDiff ){
mem0 18550 sqlite3/libsqlite/sqlite3.c if( pNew==0 && mem0.alarmCallback ){
mem0 18558 sqlite3/libsqlite/sqlite3.c sqlite3_mutex_leave(mem0.mutex);