var startLatch = new CountDownLatch(1);
new Thread(() -> {
startLatch.countDown();
- while (true) {
+ while (!closed.get()) {
try {
try (var socket = serverSocket.accept()) {
handleSocket(socket.getInputStream(), socket.getOutputStream());
*/
@Override
public void close() throws IOException {
+ closed.set(true);
serverSocket.close();
}
private final ServerSocket serverSocket = new ServerSocket();
private final Runnable shutdownHook;
+ private final AtomicBoolean closed = new AtomicBoolean(false);
}