diff --git a/src/main/java/altk/comm/engine/Broadcast.java b/src/main/java/altk/comm/engine/Broadcast.java index 8ae901a..1c0a21d 100644 --- a/src/main/java/altk/comm/engine/Broadcast.java +++ b/src/main/java/altk/comm/engine/Broadcast.java @@ -220,6 +220,7 @@ public abstract class Broadcast toStates.put(BroadcastState.CANCELING, Arrays.asList( BroadcastState.ABORTING, BroadcastState.ABORTED, + BroadcastState.COMPLETED, BroadcastState.CANCELED, // User action BroadcastState.PURGED // User action )); @@ -233,6 +234,7 @@ public abstract class Broadcast // Transitions from PAUSING toStates.put(BroadcastState.PAUSING, Arrays.asList( BroadcastState.RUNNING, // User action + BroadcastState.COMPLETED, BroadcastState.ABORTING, BroadcastState.CANCELED, // User action BroadcastState.PAUSED, @@ -1182,7 +1184,10 @@ public abstract class Broadcast serviceActivityCount += increment; if (increment < 0 && serviceActivityCount <= 0) { - if (state == BroadcastState.RUNNING) + if (state == BroadcastState.RUNNING + || state == BroadcastState.PAUSING + || state == BroadcastState.CANCELING + ) { // TODO: investigate possibility that 0 remainingJobCount may // not be final. It may still change because a finishing job