diff options
author | Doug Schaefer | 2018-06-16 21:06:30 +0000 |
---|---|---|
committer | Doug Schaefer | 2018-06-16 21:15:31 +0000 |
commit | e6550c7a10b51ae7deeb78138277b69c2d6a9ec3 (patch) | |
tree | 81e178af9b36b4b163ec1eeaaa156f7dd7539071 | |
parent | 3b44424539ec13eaf9df2eab2f2b8ab9b2df8901 (diff) | |
download | org.eclipse.cdt-e6550c7a10b51ae7deeb78138277b69c2d6a9ec3.tar.gz org.eclipse.cdt-e6550c7a10b51ae7deeb78138277b69c2d6a9ec3.tar.xz org.eclipse.cdt-e6550c7a10b51ae7deeb78138277b69c2d6a9ec3.zip |
This reverts commit e5c7bb64f7ea88b517281d8ed312115c3123f322.
Change-Id: I565f9eb2728d0ff0199e61f3f25df4aa0b64f17b
-rw-r--r-- | native/org.eclipse.cdt.native.serial/src/org/eclipse/cdt/serial/SerialPort.java | 35 |
1 files changed, 9 insertions, 26 deletions
diff --git a/native/org.eclipse.cdt.native.serial/src/org/eclipse/cdt/serial/SerialPort.java b/native/org.eclipse.cdt.native.serial/src/org/eclipse/cdt/serial/SerialPort.java index 8b49cf9e676..abbeacb5f9b 100644 --- a/native/org.eclipse.cdt.native.serial/src/org/eclipse/cdt/serial/SerialPort.java +++ b/native/org.eclipse.cdt.native.serial/src/org/eclipse/cdt/serial/SerialPort.java @@ -103,38 +103,21 @@ public class SerialPort { rpos += n; return n; } else { - while (isOpen()) { - n = read1(handle, b, off, len); - if (n <= 0 ) { - if (isPaused) { - synchronized (pauseMutex) { - while (isPaused) { - try { - pauseMutex.wait(); - } catch (InterruptedException e) { - return -1; - } - } - } - } - else if (n < 0) { - // End of stream, connection closed? - return n; - } - else { - // Nothing available yet, keep blocking + n = read1(handle, b, off, len); + if (n <= 0 && isPaused) { + synchronized (pauseMutex) { + while (isPaused) { try { - Thread.sleep(500); + pauseMutex.wait(); } catch (InterruptedException e) { - // ignore + return -1; } } - } else { - return n; } + return read1(handle, b, off, len); + } else { + return n; } - - return -1; } } else { return -1; |