Browse Source

take_queued_work_bymidstate should use a write lock.

Con Kolivas 12 years ago
parent
commit
5bf9856a4a
1 changed files with 2 additions and 2 deletions
  1. 2 2
      cgminer.c

+ 2 - 2
cgminer.c

@@ -6178,11 +6178,11 @@ struct work *take_queued_work_bymidstate(struct cgpu_info *cgpu, char *midstate,
 {
 {
 	struct work *work;
 	struct work *work;
 
 
-	rd_lock(&cgpu->qlock);
+	wr_lock(&cgpu->qlock);
 	work = __find_work_bymidstate(cgpu->queued_work, midstate, midstatelen, data, offset, datalen);
 	work = __find_work_bymidstate(cgpu->queued_work, midstate, midstatelen, data, offset, datalen);
 	if (work)
 	if (work)
 		__work_completed(cgpu, work);
 		__work_completed(cgpu, work);
-	rd_unlock(&cgpu->qlock);
+	wr_unlock(&cgpu->qlock);
 
 
 	return work;
 	return work;
 }
 }