diff options
| author | Keith Packard <keithp@keithp.com> | 2013-12-18 01:14:11 -0800 |
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2013-12-18 01:14:11 -0800 |
| commit | e26306c9350ef1d107d4257ef1c09d15165c9154 (patch) | |
| tree | d7983c6a04c54b3307d6fc2699dad4fa21d8bde0 /altosui/AltosBTManage.java | |
| parent | 18852efa108ba6e6e69dfd5076d4f4c01f62b4ef (diff) | |
altoslib: Pass InterruptedException up the stack instead of hiding it
When interrupting a thread that is talking to a serial device, it's
important not to have that thread discard the InterruptedException so
that it will actually terminate. This patch removes a bunch of places
that were discarding InterruptedExceptions and lets higher level code
see them so that they can exit cleanly.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui/AltosBTManage.java')
| -rw-r--r-- | altosui/AltosBTManage.java | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/altosui/AltosBTManage.java b/altosui/AltosBTManage.java index 4c9b7a6c..1015f7c3 100644 --- a/altosui/AltosBTManage.java +++ b/altosui/AltosBTManage.java @@ -85,7 +85,7 @@ public class AltosBTManage extends AltosUIDialog implements ActionListener, Iter return devices.iterator(); } - public java.util.List<AltosBTDevice> selected_list() { + public java.util.List<AltosBTDevice> selected_list() throws InterruptedException { java.util.LinkedList<AltosBTDevice> l = new java.util.LinkedList<AltosBTDevice>(); Object[] a = getSelectedValues(); for (int i = 0; i < a.length; i++) @@ -117,16 +117,22 @@ public class AltosBTManage extends AltosUIDialog implements ActionListener, Iter } public void add_known() { - for (AltosBTDevice device : visible_devices.selected_list()) { - known_devices.add(device); - visible_devices.remove(device); + try { + for (AltosBTDevice device : visible_devices.selected_list()) { + known_devices.add(device); + visible_devices.remove(device); + } + } catch (InterruptedException ie) { } } public void remove_known() { - for (AltosBTDevice device : known_devices.selected_list()) { - known_devices.remove(device); - visible_devices.add(device); + try { + for (AltosBTDevice device : known_devices.selected_list()) { + known_devices.remove(device); + visible_devices.add(device); + } + } catch (InterruptedException ie) { } } |
