Ejemplo n.º 1
0
/* Renews every file with renewable flag set */
static void
qbuf_renew_all(void *unused)
{
  int i;
  for(i=0; i<NQBUF_FILES; i++) {
    if(qbuf_files[i].renewable == 1) {
      qbuf_renew_file(i);
    }
  }
}
Ejemplo n.º 2
0
/*---------------------------------------------------------------------------*/
void
queuebuf_init(void)
{
#if WITH_SWAP
  int i;
  for(i=0; i<NQBUF_FILES; i++) {
    qbuf_files[i].renewable = 1;
    qbuf_renew_file(i);
  }
#endif
  memb_init(&buframmem);
  memb_init(&bufmem);
#if QUEUEBUF_STATS
  queuebuf_max_len = 0;
#endif /* QUEUEBUF_STATS */
}
Ejemplo n.º 3
0
/*---------------------------------------------------------------------------*/
static int
get_new_swap_id(void)
{
  int fileid;
  int swap_id = next_swap_id;
  fileid = swap_id / NQBUF_PER_FILE;
  if(swap_id % NQBUF_PER_FILE == 0) { /* This is the first id in the file */
    if(qbuf_files[fileid].renewable) {
      qbuf_renew_file(fileid);
    }
    if(qbuf_files[fileid].usage>0) {
      return -1;
    }
  }
  qbuf_files[fileid].usage++;
  next_swap_id = (next_swap_id+1) % NQBUF_ID;
  return swap_id;
}