From ee9f68ec877e3e5a67179f8c8abafbccc80eb804 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 17 Aug 2014 20:51:36 -0700 Subject: [PATCH] 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 --- altoslib/AltosFlash.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) 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 +} -- 2.30.2