From 466e86f057a3108d73fa7a007f45cac3cbba1a9b Mon Sep 17 00:00:00 2001 From: counterpoint Date: Wed, 10 Jun 2015 17:40:00 +0100 Subject: [PATCH] Remove difftime, add decrement of persistent count when expired or cleaned. --- server/core/dcb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/core/dcb.c b/server/core/dcb.c index 611e93098..093517745 100644 --- a/server/core/dcb.c +++ b/server/core/dcb.c @@ -2287,7 +2287,7 @@ dcb_persistent_clean_count(DCB *dcb, bool cleanall) spinlock_acquire(&server->persistlock); while (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) { previousdcb->nextpersistent = persistentdcb->nextpersistent; @@ -2298,6 +2298,7 @@ dcb_persistent_clean_count(DCB *dcb, bool cleanall) } persistentdcb->nextpersistent = disposals; disposals = persistentdcb; + atomic_add(&server->stats.n_persistent, -1); } else {