diff options
| author | 2026-08-22 09:10:27 +0200 | |
|---|---|---|
| committer | 2026-08-22 09:10:27 +0200 | |
| commit | b0ce84cb9ec840d80b3e596961dac4154114584f (patch) | |
| tree | a1c9c6c67aad25bf93e13a6fd3484aecaf171323 /src/main/java/com/it_jaros | |
| parent | 30d80956be8ef7b65628cb388b7c9730e5f26f33 (diff) | |
End scanner immediatetly on cancellation on both the scanner and
ScanHostTask
Diffstat (limited to 'src/main/java/com/it_jaros')
| -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); |
