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 /altoslib/AltosLog.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 'altoslib/AltosLog.java')
| -rw-r--r-- | altoslib/AltosLog.java | 11 | 
1 files changed, 4 insertions, 7 deletions
| diff --git a/altoslib/AltosLog.java b/altoslib/AltosLog.java index 015d9f65..d4fbee97 100644 --- a/altoslib/AltosLog.java +++ b/altoslib/AltosLog.java @@ -59,18 +59,15 @@ public class AltosLog implements Runnable {  		return file;  	} -	boolean open (AltosState state) throws IOException { +	boolean open (AltosState state) throws IOException, InterruptedException {  		AltosFile	a = new AltosFile(state);  		log_file = new FileWriter(a, true);  		if (log_file != null) {  			while (!pending_queue.isEmpty()) { -				try { -					String s = pending_queue.take(); -					log_file.write(s); -					log_file.write('\n'); -				} catch (InterruptedException ie) { -				} +				String s = pending_queue.take(); +				log_file.write(s); +				log_file.write('\n');  			}  			log_file.flush();  			file = a; | 
