From 116e19418589741983a4a0ab78d7806abcb39c25 Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Tue, 27 Nov 2012 00:05:25 +0000 Subject: [PATCH] Replace the modem instance if an exception occurs. --- src/net/sf/briar/plugins/modem/ModemPlugin.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/net/sf/briar/plugins/modem/ModemPlugin.java b/src/net/sf/briar/plugins/modem/ModemPlugin.java index f2ea847390..435f10a4a1 100644 --- a/src/net/sf/briar/plugins/modem/ModemPlugin.java +++ b/src/net/sf/briar/plugins/modem/ModemPlugin.java @@ -88,14 +88,17 @@ class ModemPlugin implements DuplexPlugin, Modem.Callback { // Synchronized to avoid a race condition with stop() private synchronized boolean resetModem() { if(!running) return false; - try { - modem.init(); - return true; - } catch(IOException e) { - if(LOG.isLoggable(WARNING)) LOG.warning(e.toString()); - running = false; - return false; + for(String portName : SerialPortList.getPortNames()) { + modem = modemFactory.createModem(this, portName); + try { + modem.init(); + return true; + } catch(IOException e) { + if(LOG.isLoggable(WARNING)) LOG.warning(e.toString()); + } } + running = false; + return false; } public boolean shouldPoll() { -- GitLab