File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -39,7 +39,7 @@ func aggregateState(roles []Role) (state task.State) {
3939 if len (roles ) == 0 {
4040 return
4141 }
42- var rolesToCheck = make ([] Role , 0 )
42+ var hasBeenInError = false
4343 for _ , c := range roles {
4444 taskR , isTaskRole := c .(* taskRole )
4545 callR , isCallRole := c .(* callRole )
@@ -52,20 +52,13 @@ func aggregateState(roles []Role) (state task.State) {
5252 continue
5353 }
5454 }
55- state = state .X (c .GetState ())
56- if state == task .MIXED {
57- rolesToCheck = append (rolesToCheck , c )
58- }
59- if state == task .ERROR {
60- rolesToCheck = append (rolesToCheck , c )
55+ if c .GetState () == task .ERROR {
56+ hasBeenInError = true
6157 }
58+ state = state .X (c .GetState ())
6259 }
63- if len (rolesToCheck ) > 0 {
64- checkedState := state
65- for _ , c := range rolesToCheck {
66- checkedState = checkedState .X (c .GetState ())
67- }
68- state = checkedState
60+ if hasBeenInError && state == task .MIXED {
61+ state = task .ERROR
6962 }
7063 return
7164}
You can’t perform that action at this time.
0 commit comments