fix datarace on issue indexer queue (#9490)

This commit is contained in:
Lunny Xiao 2019-12-25 17:44:09 +08:00 committed by GitHub
parent f88715e29c
commit 8b2f29c0d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 1 deletions

View File

@ -38,6 +38,8 @@ func Init() {
return return
} }
initQueue(setting.Indexer.UpdateQueueLength)
ctx, cancel := context.WithCancel(context.Background()) ctx, cancel := context.WithCancel(context.Background())
graceful.GetManager().RunAtTerminate(ctx, func() { graceful.GetManager().RunAtTerminate(ctx, func() {

View File

@ -21,8 +21,11 @@ type repoIndexerOperation struct {
var repoIndexerOperationQueue chan repoIndexerOperation var repoIndexerOperationQueue chan repoIndexerOperation
func initQueue(queueLength int) {
repoIndexerOperationQueue = make(chan repoIndexerOperation, queueLength)
}
func processRepoIndexerOperationQueue(indexer Indexer) { func processRepoIndexerOperationQueue(indexer Indexer) {
repoIndexerOperationQueue = make(chan repoIndexerOperation, setting.Indexer.UpdateQueueLength)
for { for {
select { select {
case op := <-repoIndexerOperationQueue: case op := <-repoIndexerOperationQueue: