npage: make flush synchronous

This commit is contained in:
cinap_lenrek 2011-09-10 07:14:29 +02:00
parent 5c34facdb3
commit 441a33970d

View file

@ -600,7 +600,9 @@ unloadpages(int age)
Page *p; Page *p;
for(p = root->down; p; p = nextpage(p)){ for(p = root->down; p; p = nextpage(p)){
if(!canqlock(p)) if(age == 0) /* synchronous flush */
qlock(p);
else if(!canqlock(p))
continue; continue;
if((pagegen - p->gen) >= age) if((pagegen - p->gen) >= age)
unloadpage(p); unloadpage(p);
@ -930,6 +932,7 @@ main(int argc, char *argv[])
rotate = 0; rotate = 0;
Unload: Unload:
viewgen++; viewgen++;
esetcursor(&reading);
unloadpages(0); unloadpages(0);
showpage(current); showpage(current);
continue; continue;