revert CR-IC-5649

This commit is contained in:
Vladimir Krivosheev
2014-07-24 21:38:37 +02:00
parent e576039ff9
commit e8acd1854f
3 changed files with 3 additions and 7 deletions
@@ -28,7 +28,6 @@ import com.intellij.execution.configurations.JavaParameters;
import com.intellij.execution.configurations.ModuleRunProfile;
import com.intellij.execution.configurations.RemoteConnection;
import com.intellij.execution.configurations.RunProfileState;
import com.intellij.execution.process.KillableColoredProcessHandler;
import com.intellij.execution.process.ProcessAdapter;
import com.intellij.execution.process.ProcessEvent;
import com.intellij.execution.process.ProcessHandler;
@@ -287,8 +286,7 @@ public class DebuggerManagerImpl extends DebuggerManagerEx implements Persistent
final DebugProcessImpl debugProcess = getDebugProcess(event.getProcessHandler());
if (debugProcess != null) {
// if current thread is a "debugger manager thread", stop will execute synchronously
// it is KillableColoredProcessHandler responsibility to terminate VM
debugProcess.stop(willBeDestroyed && !(event.getProcessHandler() instanceof KillableColoredProcessHandler));
debugProcess.stop(willBeDestroyed);
// wait at most 10 seconds: the problem is that debugProcess.stop() can hang if there are troubles in the debuggee
// if processWillTerminate() is called from AWT thread debugProcess.waitFor() will block it and the whole app will hang
@@ -21,7 +21,6 @@ import com.intellij.execution.configuration.EnvironmentVariablesComponent;
import com.intellij.execution.configurations.*;
import com.intellij.execution.filters.TextConsoleBuilderFactory;
import com.intellij.execution.junit.RefactoringListeners;
import com.intellij.execution.process.KillableColoredProcessHandler;
import com.intellij.execution.process.OSProcessHandler;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.execution.util.JavaParametersUtil;
@@ -286,7 +285,7 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
@NotNull
@Override
protected OSProcessHandler startProcess() throws ExecutionException {
final OSProcessHandler handler = KillableColoredProcessHandler.create(createCommandLine());
final OSProcessHandler handler = super.startProcess();
RunnerSettings runnerSettings = getRunnerSettings();
JavaRunConfigurationExtensionManager.getInstance().attachExtensionsToProcess(myConfiguration, handler, runnerSettings);
return handler;
@@ -224,10 +224,9 @@ public class DefaultJavaProgramRunner extends JavaPatchableProgramRunner {
threadStates = ThreadDumpParser.parse(stdout);
if (threadStates == null || threadStates.isEmpty()) {
try {
//noinspection BusyWait
Thread.sleep(50);
}
catch (InterruptedException ignored) {
catch (InterruptedException e1) {
//
}
threadStates = null;