java soft stop

DEA-75946 Provide graceful "Exit" action during the debugging session
This commit is contained in:
Vladimir Krivosheev
2014-07-23 11:00:04 +02:00
parent a4f780bb8f
commit e60bd467ff
3 changed files with 7 additions and 3 deletions
@@ -21,6 +21,7 @@ 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;
@@ -285,7 +286,7 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
@NotNull
@Override
protected OSProcessHandler startProcess() throws ExecutionException {
final OSProcessHandler handler = super.startProcess();
final OSProcessHandler handler = KillableColoredProcessHandler.create(createCommandLine());
RunnerSettings runnerSettings = getRunnerSettings();
JavaRunConfigurationExtensionManager.getInstance().attachExtensionsToProcess(myConfiguration, handler, runnerSettings);
return handler;
@@ -224,9 +224,10 @@ public class DefaultJavaProgramRunner extends JavaPatchableProgramRunner {
threadStates = ThreadDumpParser.parse(stdout);
if (threadStates == null || threadStates.isEmpty()) {
try {
//noinspection BusyWait
Thread.sleep(50);
}
catch (InterruptedException e1) {
catch (InterruptedException ignored) {
//
}
threadStates = null;