mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
MavenServerManager: use blocking reads for mostly-idle external process
to avoid wasting CPU on constant sleeping and waking up
This commit is contained in:
@@ -33,6 +33,7 @@ import com.intellij.openapi.util.text.StringUtilRt;
|
||||
import com.intellij.util.EnvironmentUtil;
|
||||
import com.intellij.util.PathUtil;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.io.BaseOutputReader;
|
||||
import com.intellij.util.xmlb.Converter;
|
||||
import com.intellij.util.xmlb.annotations.Attribute;
|
||||
import gnu.trove.THashMap;
|
||||
@@ -363,7 +364,13 @@ public class MavenServerManager extends RemoteObjectWrapper<MavenServer> impleme
|
||||
protected OSProcessHandler startProcess() throws ExecutionException {
|
||||
SimpleJavaParameters params = createJavaParameters();
|
||||
GeneralCommandLine commandLine = params.toCommandLine();
|
||||
OSProcessHandler processHandler = new OSProcessHandler(commandLine);
|
||||
OSProcessHandler processHandler = new OSProcessHandler(commandLine) {
|
||||
@NotNull
|
||||
@Override
|
||||
protected BaseOutputReader.Options readerOptions() {
|
||||
return BaseOutputReader.Options.BLOCKING;
|
||||
}
|
||||
};
|
||||
processHandler.setShouldDestroyProcessRecursively(false);
|
||||
return processHandler;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user