Merge pull request #76 from mhmxs/solve-race-condition

Solve race condition
This commit is contained in:
Laszlo Fogas 2019-10-09 09:31:35 +02:00 committed by GitHub
commit 45313b2621
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 6 deletions

View file

@ -21,13 +21,13 @@ format:
@gofmt -w ${GOFILES_NOVENDOR}
test-agent:
$(DOCKER_RUN) go test -timeout 30s github.com/laszlocph/woodpecker/cmd/drone-agent $(go list ./... | grep -v /vendor/)
$(DOCKER_RUN) go test -race -timeout 30s github.com/laszlocph/woodpecker/cmd/drone-agent $(go list ./... | grep -v /vendor/)
test-server:
$(DOCKER_RUN) go test -timeout 30s github.com/laszlocph/woodpecker/cmd/drone-server
$(DOCKER_RUN) go test -race -timeout 30s github.com/laszlocph/woodpecker/cmd/drone-server
test-lib:
$(DOCKER_RUN) go test -timeout 30s $(shell go list ./... | grep -v '/cmd/')
$(DOCKER_RUN) go test -race -timeout 30s $(shell go list ./... | grep -v '/cmd/')
test: test-lib test-agent test-server

View file

@ -223,6 +223,9 @@ func (q *fifo) Resume() {
// helper function that loops through the queue and attempts to
// match the item to a single subscriber.
func (q *fifo) process() {
q.Lock()
defer q.Unlock()
if q.paused {
return
}
@ -238,9 +241,6 @@ func (q *fifo) process() {
}
}()
q.Lock()
defer q.Unlock()
q.resubmitExpiredBuilds()
q.filterWaiting()
for pending, worker := q.assignToWorker(); pending != nil && worker != nil; pending, worker = q.assignToWorker() {