mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Fix Workerpool deadlock (#10283)
* Prevent deadlock on boost * Force a boost in testchannelqueue
This commit is contained in:
		| @@ -26,16 +26,19 @@ func TestChannelQueue(t *testing.T) { | ||||
| 	queue, err := NewChannelQueue(handle, | ||||
| 		ChannelQueueConfiguration{ | ||||
| 			WorkerPoolConfiguration: WorkerPoolConfiguration{ | ||||
| 				QueueLength:  20, | ||||
| 				QueueLength:  0, | ||||
| 				MaxWorkers:   10, | ||||
| 				BlockTimeout: 1 * time.Second, | ||||
| 				BoostTimeout: 5 * time.Minute, | ||||
| 				BoostWorkers: 5, | ||||
| 			}, | ||||
| 			Workers: 1, | ||||
| 			Workers: 0, | ||||
| 			Name:    "TestChannelQueue", | ||||
| 		}, &testData{}) | ||||
| 	assert.NoError(t, err) | ||||
|  | ||||
| 	assert.Equal(t, queue.(*ChannelQueue).WorkerPool.boostWorkers, 5) | ||||
|  | ||||
| 	go queue.Run(nilFn, nilFn) | ||||
|  | ||||
| 	test1 := testData{"A", 1} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user