Browse Source

Hash_pop should signal further waiters on its own pthread conditional in case there are multiple waiters.

Con Kolivas 13 years ago
parent
commit
67a9af68a1
1 changed files with 5 additions and 0 deletions
  1. 5 0
      cgminer.c

+ 5 - 0
cgminer.c

@@ -4994,7 +4994,12 @@ static struct work *hash_pop(void)
 	HASH_DEL(staged_work, work);
 	if (work_rollable(work))
 		staged_rollable--;
+
+	/* Signal the getwork scheduler to look for more work */
 	pthread_cond_signal(&gws_cond);
+
+	/* Signal hash_pop again in case there are mutliple hash_pop waiters */
+	pthread_cond_signal(&getq->cond);
 	mutex_unlock(stgd_lock);
 
 	return work;