mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 00:20:25 +08:00 
			
		
		
		
	fix datarace on issue indexer queue (#9490)
This commit is contained in:
		@@ -38,6 +38,8 @@ func Init() {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	initQueue(setting.Indexer.UpdateQueueLength)
 | 
			
		||||
 | 
			
		||||
	ctx, cancel := context.WithCancel(context.Background())
 | 
			
		||||
 | 
			
		||||
	graceful.GetManager().RunAtTerminate(ctx, func() {
 | 
			
		||||
 
 | 
			
		||||
@@ -21,8 +21,11 @@ type repoIndexerOperation struct {
 | 
			
		||||
 | 
			
		||||
var repoIndexerOperationQueue chan repoIndexerOperation
 | 
			
		||||
 | 
			
		||||
func initQueue(queueLength int) {
 | 
			
		||||
	repoIndexerOperationQueue = make(chan repoIndexerOperation, queueLength)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func processRepoIndexerOperationQueue(indexer Indexer) {
 | 
			
		||||
	repoIndexerOperationQueue = make(chan repoIndexerOperation, setting.Indexer.UpdateQueueLength)
 | 
			
		||||
	for {
 | 
			
		||||
		select {
 | 
			
		||||
		case op := <-repoIndexerOperationQueue:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user