diff options
author | Keith Packard <keithp@keithp.com> | 2014-08-17 20:51:36 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2014-08-17 20:51:36 -0700 |
commit | ee9f68ec877e3e5a67179f8c8abafbccc80eb804 (patch) | |
tree | f5e84fff75f8a96eb97a86f23f90fb0532744202 /altoslib/AltosFlash.java | |
parent | 76fd424e4624cb376ac2cf84b01b77599756680a (diff) |
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 <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosFlash.java')
-rw-r--r-- | altoslib/AltosFlash.java | 18 |
1 files 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 +} |