shithub: git9

Download patch

ref: 98a2dab2668194f4bd30e7d3f337ec3be5bfeaeb
parent: 1d1477ab0b51a00bd4f82a3ee1f788a0c82033f0
author: Ori Bernstein <ori@eigenstate.org>
date: Tue Feb 16 20:12:58 EST 2021

pack.c: we want the oldest open, not the newest.

Check for < instead of >=, and record the most
recent time we opened a pack, instead of the
first time.

--- a/pack.c
+++ b/pack.c
@@ -255,7 +255,6 @@
 	if(pf->pack == nil){
 		if((pf->pack = Bopen(pf->path, OREAD)) == nil)
 			return nil;
-		pf->opentm = nsec();
 		openpacks++;
 	}
 	if(openpacks == Npackcache){
@@ -262,7 +261,7 @@
 		t = pf->opentm;
 		best = -1;
 		for(i = 0; i < npackf; i++){
-			if(packf[i].opentm >= t && packf[i].refs > 0){
+			if(packf[i].opentm < t && packf[i].refs > 0){
 				t = packf[i].opentm;
 				best = i;
 			}
@@ -273,6 +272,7 @@
 			openpacks--;
 		}
 	}
+	pf->opentm = nsec();
 	pf->refs++;
 	return pf->pack;
 }