summaryrefslogtreecommitdiff
path: root/altoslib/AltosFlash.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-08-17 20:51:36 -0700
committerKeith Packard <keithp@keithp.com>2014-08-17 20:51:36 -0700
commitee9f68ec877e3e5a67179f8c8abafbccc80eb804 (patch)
treef5e84fff75f8a96eb97a86f23f90fb0532744202 /altoslib/AltosFlash.java
parent76fd424e4624cb376ac2cf84b01b77599756680a (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.java18
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
+}