diff options
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/com/it_jaros/jns/scan/Scanner.java | 2 | ||||
| -rw-r--r-- | src/main/java/com/it_jaros/jns/scan/engine/ScanHostTask.java | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/main/java/com/it_jaros/jns/scan/Scanner.java b/src/main/java/com/it_jaros/jns/scan/Scanner.java index 6608ee7..d9dfe47 100644 --- a/src/main/java/com/it_jaros/jns/scan/Scanner.java +++ b/src/main/java/com/it_jaros/jns/scan/Scanner.java @@ -61,7 +61,7 @@ public class Scanner implements AutoCloseable { * with whatever is there already */ private void runConsumerLoop(ProducerState<ScanResult> state, Consumer<ScanResult> consumer) { - while (state.running().get() || state.inPipeline().get() > 0) { + while (!cancelledToken.isCancelled() && (state.running().get() || state.inPipeline().get() > 0)) { PollState<ScanResult> poll = getPollStateOfScanResult(state); switch (poll) { case PollState.Success<ScanResult>(ScanResult value) -> consumer.accept(value); diff --git a/src/main/java/com/it_jaros/jns/scan/engine/ScanHostTask.java b/src/main/java/com/it_jaros/jns/scan/engine/ScanHostTask.java index 61add13..086a864 100644 --- a/src/main/java/com/it_jaros/jns/scan/engine/ScanHostTask.java +++ b/src/main/java/com/it_jaros/jns/scan/engine/ScanHostTask.java @@ -98,7 +98,7 @@ public class ScanHostTask implements Callable<ScanResult> { * ONLY exception is when cancelled is set */ private void runConsumerLoop(ProducerState<PortResult> state) { - while (state.running().get() || state.inPipeline().get() > 0) { + while (!context.cancelledToken().isCancelled() && (state.running().get() || state.inPipeline().get() > 0)) { PollState<PortResult> poll = getPortResult(state); switch (poll) { case PollState.Success<PortResult>(PortResult value) -> accumulator.add(value); |
