From 4c526d7f8336e9036bb8d2c71a4532c0fcdf2b30 Mon Sep 17 00:00:00 2001 From: Sergey Simonchik Date: Wed, 2 Oct 2019 13:28:39 +0300 Subject: [PATCH] terminate processes forcibly if the process cannot be terminated gracefully (to ensure IDE won't block on exit) GitOrigin-RevId: 8c4b435bf2a9acc33d48c22c17d8f3b44c6ad84f --- .../com/intellij/execution/ui/BaseContentCloseListener.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/execution/ui/BaseContentCloseListener.java b/platform/lang-impl/src/com/intellij/execution/ui/BaseContentCloseListener.java index 0e6445398105..776c2c62f313 100644 --- a/platform/lang-impl/src/com/intellij/execution/ui/BaseContentCloseListener.java +++ b/platform/lang-impl/src/com/intellij/execution/ui/BaseContentCloseListener.java @@ -4,6 +4,7 @@ package com.intellij.execution.ui; import com.intellij.execution.ExecutionBundle; import com.intellij.execution.TerminateRemoteProcessDialog; import com.intellij.execution.process.ProcessHandler; +import com.intellij.execution.process.ScriptRunnerUtil; import com.intellij.ide.GeneralSettings; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.progress.ProgressIndicator; @@ -111,7 +112,7 @@ public abstract class BaseContentCloseListener extends ContentManagerAdapter imp } boolean destroyProcess = rc == GeneralSettings.ProcessCloseConfirmation.TERMINATE; if (destroyProcess) { - processHandler.destroyProcess(); + ScriptRunnerUtil.terminateProcessHandler(processHandler, 2000, null); } else { processHandler.detachProcess();