From: Keith Packard Date: Mon, 18 Aug 2014 03:51:36 +0000 (-0700) Subject: altoslib: Close serial port when AltosFlash fails to detect a target X-Git-Tag: 1.4.9.3~14 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=ee9f68ec877e3e5a67179f8c8abafbccc80eb804;hp=76fd424e4624cb376ac2cf84b01b77599756680a altoslib: Close serial port when AltosFlash fails to detect a target AltosDebug.check_connection raises an exception when the link fails, but the AltosFlash constructor didn't close the serial port in this case, causing the serial port to appear to be busy. Signed-off-by: Keith Packard --- diff --git a/altoslib/AltosFlash.java b/altoslib/AltosFlash.java index bd4fb6d0..a8519550 100644 --- a/altoslib/AltosFlash.java +++ b/altoslib/AltosFlash.java @@ -345,9 +345,23 @@ public class AltosFlash extends AltosProgrammer { debug = new AltosDebug(link); input = new FileInputStream(file); image = new AltosHexfile(input); - if (debug != null && !debug.check_connection()) { + + boolean connection_ok = true; + + if (debug != null) { + try { + connection_ok = debug.check_connection(); + } catch (IOException ie) { + debug.close(); + throw ie; + } catch (InterruptedException ie) { + debug.close(); + throw ie; + } + } + if (!connection_ok) { debug.close(); throw new IOException("Debug port not connected"); } } -} \ No newline at end of file +}