]> git.giacomolli.uk - onechat/blobdiff - build_queue.go
Version the package and command from the commit
[onechat] / build_queue.go
index 53e804df464a7f9477466ec81d2876c3778c72fe..7db24bee8a1d2387a90de6fe509be9d517544fa9 100644 (file)
@@ -82,8 +82,10 @@ func (q *BuildQueue) Next() (NodeKey, bool) {
 // Done removes a built node from the queue.
 func (q *BuildQueue) Done(key NodeKey) {
        delete(q.running, key)
+
        if key.level > 0 {
                delete(q.queued, key)
+
                return
        }
 
@@ -96,6 +98,7 @@ func (q *BuildQueue) Done(key NodeKey) {
 // Fail keeps a node in the queue, but it cannot start until Retry.
 func (q *BuildQueue) Fail(key NodeKey) {
        delete(q.running, key)
+
        if key.level > 0 {
                q.retry = append(q.retry, key)
                return
@@ -107,6 +110,7 @@ func (q *BuildQueue) Fail(key NodeKey) {
 // Retry lets the failed nodes start again.
 func (q *BuildQueue) Retry() {
        clear(q.failed)
+
        for _, key := range q.retry {
                heap.Push(&q.merges, key)
        }