- if (SwingUtilities.isEventDispatchThread()) {
- can_cancel = false;
- System.out.printf("Uh-oh, reading serial device from swing thread\n");
- }
- flush_output();
- if (remote && can_cancel) {
- timeout = 500;
- }
- abort = false;
- timeout_started = false;
- for (;;) {
- AltosLine line = reply_queue.poll(timeout, TimeUnit.MILLISECONDS);
- if (line != null) {
- stop_timeout_dialog();
- --in_reply;
- return line.line;
+ try {
+ ++in_reply;
+
+ if (SwingUtilities.isEventDispatchThread()) {
+ can_cancel = false;
+ if (remote)
+ System.out.printf("Uh-oh, reading remote serial device from swing thread\n");