diff --git a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java index 3c1cad53561b81fec3fe01b803ea734b88a36c20..8edc92fdf37b367e3652566288c7ef2bacfdc588 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java +++ b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java @@ -152,6 +152,9 @@ public class I2PSnarkUtil { */ synchronized public boolean connect() { if (_manager == null) { + // try to find why reconnecting after stop + if (_log.shouldLog(Log.DEBUG)) + _log.debug("Connecting to I2P", new Exception("I did it")); Properties opts = new Properties(); if (_opts != null) { for (Iterator iter = _opts.keySet().iterator(); iter.hasNext(); ) { diff --git a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java index 331bd770ba564366a863c4ffb14a79523548f6ed..e3cc8ae9f00ebd1c63b759497160d72ab258496b 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java +++ b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java @@ -268,7 +268,7 @@ public class TrackerClient extends I2PAppThread List ordered = new ArrayList(peers); Collections.shuffle(ordered, r); Iterator it = ordered.iterator(); - while (it.hasNext()) { + while ((!stop) && it.hasNext()) { Peer cur = (Peer)it.next(); // FIXME if id == us || dest == us continue; // only delay if we actually make an attempt to add peer diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 8a2f9a269b7d7a3d2ac701945a06f602fdec334a..e284cc1721f3fed80bb6d62afc81e984237c1cc4 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -530,6 +530,8 @@ public class I2PSnarkServlet extends Default { _manager.stopTorrent(snark.torrent, false); } if (_manager.util().connected()) { + // Give the stopped announces time to get out + try { Thread.sleep(2000); } catch (InterruptedException ie) {} _manager.util().disconnect(); _manager.addMessage(_("I2P tunnel closed.")); }