Remove difftime, add decrement of persistent count when expired or cleaned.

This commit is contained in:
counterpoint
2015-06-10 17:40:00 +01:00
parent 50cc290bc4
commit 466e86f057

View File

@ -2287,7 +2287,7 @@ dcb_persistent_clean_count(DCB *dcb, bool cleanall)
spinlock_acquire(&server->persistlock); spinlock_acquire(&server->persistlock);
while (persistentdcb) { while (persistentdcb) {
CHK_DCB(persistentdcb); CHK_DCB(persistentdcb);
if (cleanall || count >= server->persistpoolmax || difftime(time(NULL), persistentdcb->persistentstart) > server->persistmaxtime) if (cleanall || count >= server->persistpoolmax || time(NULL) - persistentdcb->persistentstart > server->persistmaxtime)
{ {
if (previousdcb) { if (previousdcb) {
previousdcb->nextpersistent = persistentdcb->nextpersistent; previousdcb->nextpersistent = persistentdcb->nextpersistent;
@ -2298,6 +2298,7 @@ dcb_persistent_clean_count(DCB *dcb, bool cleanall)
} }
persistentdcb->nextpersistent = disposals; persistentdcb->nextpersistent = disposals;
disposals = persistentdcb; disposals = persistentdcb;
atomic_add(&server->stats.n_persistent, -1);
} }
else else
{ {