int main() { Queue* q = (Queue*)malloc(sizeof(Queue)); q->s1 = createStack(10, 1); q->s2 = createStack(10, 2); int i; for(i = 1 ; i < 10 ; i++) { insert(&q, i); } printf("queue:%d\n", qRemove(&q)); printf("queue:%d\n", qRemove(&q)); printf("queue:%d\n", qRemove(&q)); printf("queue:%d\n", qRemove(&q)); return 0; }
void cacheHitOnPage(Page * ret) { /* The page may not be in cache if it is about to be freed. */ if(ret->inCache && cache_state == FULL) { /* we need to worry about page sorting */ /* move to head */ if( ret != repHead ) { qRemove(ret); headInsert(ret); assert(ret->next != ret && ret->prev != ret); if( ret->pinCount == 2 ) { /* keep first queue same size */ repMiddle = repMiddle->prev; repMiddle->pinCount = 2; ret->pinCount = 1; } } } }
void cacheRemovePage(Page * ret) { assert(ret->inCache); qRemove(ret); ret->inCache--; bufferSize --; }