From 7108751d3c4cf79c4cd67a57667730cd9bf155f0 Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Tue, 29 Jan 2013 16:20:50 +0100 Subject: [PATCH] Set IRC discovery so timeout. Resolves issue 269. --- .../main/java/com/google/bitcoin/discovery/IrcDiscovery.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/google/bitcoin/discovery/IrcDiscovery.java b/core/src/main/java/com/google/bitcoin/discovery/IrcDiscovery.java index c9ab0997..5e434853 100644 --- a/core/src/main/java/com/google/bitcoin/discovery/IrcDiscovery.java +++ b/core/src/main/java/com/google/bitcoin/discovery/IrcDiscovery.java @@ -97,11 +97,12 @@ public class IrcDiscovery implements PeerDiscovery { int ipCursor = ipCursorStart; do { connection = new Socket(); + int timeoutMsec = (int) TimeUnit.MILLISECONDS.convert(timeoutValue, timeoutUnit); + connection.setSoTimeout(timeoutMsec); try { InetAddress ip = ips[ipCursor]; - long timeoutMsec = TimeUnit.MILLISECONDS.convert(timeoutValue, timeoutUnit); log.info("Connecting to IRC with " + ip); - connection.connect(new InetSocketAddress(ip, port), (int)timeoutMsec); + connection.connect(new InetSocketAddress(ip, port), timeoutMsec); } catch (SocketTimeoutException e) { connection = null; } catch (IOException e) {