diff --git a/src/main/java/org/ldk/batteries/NioPeerHandler.java b/src/main/java/org/ldk/batteries/NioPeerHandler.java index 8bd5172c..5f8c8051 100644 --- a/src/main/java/org/ldk/batteries/NioPeerHandler.java +++ b/src/main/java/org/ldk/batteries/NioPeerHandler.java @@ -266,12 +266,13 @@ public void connect(byte[] their_node_id, java.net.SocketAddress remote, int tim boolean connected; try { chan.configureBlocking(false); - Selector open_selector = Selector.open(); - chan.register(open_selector, SelectionKey.OP_CONNECT); - if (!chan.connect(remote)) { - open_selector.select(timeout_ms); + try (Selector open_selector = Selector.open()) { + chan.register(open_selector, SelectionKey.OP_CONNECT); + if (!chan.connect(remote)) { + open_selector.select(timeout_ms); + } + connected = chan.finishConnect(); } - connected = chan.finishConnect(); } catch (IOException e) { try { chan.close(); } catch (IOException _e) { } throw e;