Commit 82cac388749c49c384bcc7fbbe34077b6bbed553

Con Kolivas 2011-07-10T12:59:32

Logic failure meant the longpoll fake staged were never removed. This would lead to idle periods and may have even caused complete idle failures.

diff --git a/main.c b/main.c
index d60f65f..2a4124c 100644
--- a/main.c
+++ b/main.c
@@ -762,9 +762,10 @@ static bool workio_submit_work(struct workio_cmd *wc)
 static void inc_staged(int inc, bool lp)
 {
 	pthread_mutex_lock(&stgd_lock);
-	total_staged += inc;
 	if (lp)
 		lp_staged += inc;
+	else
+		total_staged += inc;
 	pthread_mutex_unlock(&stgd_lock);
 }
 
@@ -782,7 +783,7 @@ static int requests_staged(void)
 	int ret;
 
 	pthread_mutex_lock(&stgd_lock);
-	ret = total_staged;
+	ret = total_staged + lp_staged;
 	pthread_mutex_unlock(&stgd_lock);
 	return ret;
 }