Remove explicit AppScheduledExecutorService shutdown (commit revert)
Revert "Problem: manually shutdown AppScheduledExecutorService to allow compiler stop properly"
The commit was added during update to 162.1024.1 to fix hangs in ant
tasks on teamcity because of some thread created in
AppScheduledExecutorService service.
Remove the commit because can't reproduce those hangs under 162.2946
(Probably https://github.com/JetBrains/intellij-community/commit/12a079ef41882343bf83ef2a7dcee820b55fd154 fixed the hangs).
This should also be addressed in fix for https://youtrack.jetbrains.com/issue/IDEA-169562
This reverts commit 99a75021e1.
This commit is contained in:
+2
-10
@@ -16,8 +16,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.serialization.builtins
|
||||
|
||||
import com.intellij.util.concurrency.AppExecutorUtil
|
||||
import com.intellij.util.concurrency.AppScheduledExecutorService
|
||||
import java.io.File
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
@@ -43,13 +41,7 @@ found top-level declarations to <destination dir> (*.kotlin_builtins files)"""
|
||||
val missing = srcDirs.filterNot(File::exists)
|
||||
assert(missing.isEmpty()) { "These source directories are missing: $missing" }
|
||||
|
||||
try {
|
||||
BuiltInsSerializer(dependOnOldBuiltIns = false).serialize(destDir, srcDirs, listOf()) { totalSize, totalFiles ->
|
||||
println("Total bytes written: $totalSize to $totalFiles files")
|
||||
}
|
||||
}
|
||||
finally {
|
||||
val service = AppExecutorUtil.getAppScheduledExecutorService() as AppScheduledExecutorService
|
||||
service.shutdownAppScheduledExecutorService()
|
||||
BuiltInsSerializer(dependOnOldBuiltIns = false).serialize(destDir, srcDirs, listOf()) { totalSize, totalFiles ->
|
||||
println("Total bytes written: $totalSize to $totalFiles files")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,8 +20,6 @@ import com.google.common.base.Predicates;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.util.concurrency.AppExecutorUtil;
|
||||
import com.intellij.util.concurrency.AppScheduledExecutorService;
|
||||
import kotlin.collections.ArraysKt;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import org.fusesource.jansi.AnsiConsole;
|
||||
@@ -379,16 +377,9 @@ public abstract class CLICompiler<A extends CommonCompilerArguments> {
|
||||
// We depend on swing (indirectly through PSI or something), so we want to declare headless mode,
|
||||
// to avoid accidentally starting the UI thread
|
||||
System.setProperty("java.awt.headless", "true");
|
||||
try {
|
||||
ExitCode exitCode = doMainNoExit(compiler, args);
|
||||
|
||||
if (exitCode != OK) {
|
||||
System.exit(exitCode.getCode());
|
||||
}
|
||||
}
|
||||
finally {
|
||||
AppScheduledExecutorService service = (AppScheduledExecutorService) AppExecutorUtil.getAppScheduledExecutorService();
|
||||
service.shutdownAppScheduledExecutorService();
|
||||
ExitCode exitCode = doMainNoExit(compiler, args);
|
||||
if (exitCode != OK) {
|
||||
System.exit(exitCode.getCode());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -105,7 +105,6 @@ import org.jetbrains.kotlin.script.KotlinScriptDefinitionProvider
|
||||
import org.jetbrains.kotlin.script.KotlinScriptExternalImportsProvider
|
||||
import org.jetbrains.kotlin.utils.PathUtil
|
||||
import java.io.File
|
||||
import java.lang.IllegalStateException
|
||||
import java.util.*
|
||||
|
||||
class KotlinCoreEnvironment private constructor(
|
||||
|
||||
+3
-10
@@ -16,9 +16,9 @@
|
||||
@file:JvmName("PreprocessorCLI")
|
||||
package org.jetbrains.kotlin.preprocessor
|
||||
|
||||
import com.intellij.util.concurrency.AppExecutorUtil
|
||||
import com.intellij.util.concurrency.AppScheduledExecutorService
|
||||
import java.io.File
|
||||
import java.util.concurrent.Executors
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
if (args.size != 3) {
|
||||
@@ -32,12 +32,5 @@ fun main(args: Array<String>) {
|
||||
val profile = createProfile(args[2], targetPath)
|
||||
|
||||
println("Preprocessing sources in $sourcePath to $targetPath with profile ${profile.name}")
|
||||
|
||||
try {
|
||||
Preprocessor().processSources(sourcePath, profile)
|
||||
}
|
||||
finally {
|
||||
val service = AppExecutorUtil.getAppScheduledExecutorService() as AppScheduledExecutorService
|
||||
service.shutdownAppScheduledExecutorService()
|
||||
}
|
||||
Preprocessor().processSources(sourcePath, profile)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user