raco setup: allow catching cycle errors
In parallel build mode, if attempting to compile a file triggers a cycle error that is caught and discarded, don't leave behind a dependency (that is effectively resolved by the error) in the parallel-worker manager.
This commit is contained in:
parent
01edfbbfcf
commit
828dc1f276
|
@ -41,13 +41,13 @@
|
||||||
(wrkr/send wrkr (list 'compiled))
|
(wrkr/send wrkr (list 'compiled))
|
||||||
'done]
|
'done]
|
||||||
[(list w waitlst)
|
[(list w waitlst)
|
||||||
(hash-set! depends wrkr (cons w fn))
|
(let ([fns (check-cycles w (hasheq wrkr #t) null)])
|
||||||
(let ([fns (check-cycles wrkr (hash) null)])
|
|
||||||
(cond
|
(cond
|
||||||
[fns
|
[fns
|
||||||
(wrkr/send wrkr (list 'cycle (cons fn fns)))
|
(wrkr/send wrkr (list 'cycle (cons fn fns)))
|
||||||
v]
|
v]
|
||||||
[else
|
[else
|
||||||
|
(hash-set! depends wrkr (cons w fn))
|
||||||
(list w (append waitlst (list wrkr)))]))]
|
(list w (append waitlst (list wrkr)))]))]
|
||||||
[else
|
[else
|
||||||
(wrkr/send wrkr (list 'locked))
|
(wrkr/send wrkr (list 'locked))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user