/* 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); } } }
/*---------------------------------------------------------------------------*/ 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 */ }
/*---------------------------------------------------------------------------*/ 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; }