ProcessWaiter: don't interrupt reading threads

nobody checks for their interrupted status,
and we suspect it might cause freezes in IDEA-192097
This commit is contained in:
peter
2018-05-16 18:35:13 +02:00
parent 987368ccfd
commit 39c83243f8
@@ -40,13 +40,11 @@ public abstract class ProcessWaiter<T extends CancellableRunnable> {
myInStreamListener = createStreamListener(worker.getInputStream());
final Application app = ApplicationManager.getApplication();
Future<?> errorStreamReadingFuture = null;
Future<?> outputStreamReadingFuture = null;
final int rc;
try {
errorStreamReadingFuture = app.executeOnPooledThread(myErrStreamListener);
outputStreamReadingFuture = app.executeOnPooledThread(myInStreamListener);
Future<?> errorStreamReadingFuture = app.executeOnPooledThread(myErrStreamListener);
Future<?> outputStreamReadingFuture = app.executeOnPooledThread(myInStreamListener);
rc = worker.execute();
if (tryReadStreams(rc)) {
errorStreamReadingFuture.get(timeout, TimeUnit.MILLISECONDS);
@@ -54,12 +52,6 @@ public abstract class ProcessWaiter<T extends CancellableRunnable> {
}
} finally {
cancelListeners();
if (errorStreamReadingFuture != null) {
errorStreamReadingFuture.cancel(true);
}
if (outputStreamReadingFuture != null) {
outputStreamReadingFuture.cancel(true);
}
}
return rc;