1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-22 14:12:10 +02:00

Revert "Bug 534286. Made read(byte[],int,int) blocking"

This reverts commit e5c7bb64f7.

Change-Id: I565f9eb2728d0ff0199e61f3f25df4aa0b64f17b
(cherry picked from commit e6550c7a10)
This commit is contained in:
Doug Schaefer 2018-06-16 17:06:30 -04:00
parent 166c4ce28f
commit 29ed1fa6c4

View file

@ -103,38 +103,21 @@ public class SerialPort {
rpos += n; rpos += n;
return n; return n;
} else { } else {
while (isOpen()) { n = read1(handle, b, off, len);
n = read1(handle, b, off, len); if (n <= 0 && isPaused) {
if (n <= 0 ) { synchronized (pauseMutex) {
if (isPaused) { while (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
try { try {
Thread.sleep(500); pauseMutex.wait();
} catch (InterruptedException e) { } catch (InterruptedException e) {
// ignore return -1;
} }
} }
} else {
return n;
} }
return read1(handle, b, off, len);
} else {
return n;
} }
return -1;
} }
} else { } else {
return -1; return -1;