コード例 #1
0
ファイル: 3-5.c プロジェクト: gsrr/Programs
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;
}
コード例 #2
0
ファイル: pageCache.c プロジェクト: baskard/stasis
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;
      }
    }
  }
}
コード例 #3
0
ファイル: pageCache.c プロジェクト: baskard/stasis
void cacheRemovePage(Page * ret) {
  assert(ret->inCache);
  qRemove(ret);
  ret->inCache--;
  bufferSize --;
}