mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
jps: use daemon thread for background tasks
This way we won't need to call System.exit() to finish every script which uses JPS model.
This commit is contained in:
@@ -18,6 +18,7 @@ package org.jetbrains.jps.cmdline;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.util.io.FileSystemUtil;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.util.ConcurrencyUtil;
|
||||
import io.netty.bootstrap.Bootstrap;
|
||||
import io.netty.channel.*;
|
||||
import io.netty.channel.nio.NioEventLoopGroup;
|
||||
@@ -85,7 +86,7 @@ public class BuildMain {
|
||||
// IDEA-123132, let's try again
|
||||
for (int attempt = 0; attempt < 3; attempt++) {
|
||||
try {
|
||||
ourEventLoopGroup = new NioEventLoopGroup(1, SharedThreadPool.getInstance());
|
||||
ourEventLoopGroup = new NioEventLoopGroup(1, ConcurrencyUtil.newNamedThreadFactory("JPS event loop"));
|
||||
break;
|
||||
}
|
||||
catch (IllegalStateException e) {
|
||||
|
||||
@@ -24,6 +24,7 @@ import com.intellij.openapi.util.Key;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.util.ConcurrencyUtil;
|
||||
import com.intellij.util.concurrency.Semaphore;
|
||||
import io.netty.bootstrap.ServerBootstrap;
|
||||
import io.netty.channel.*;
|
||||
@@ -44,9 +45,8 @@ import org.jetbrains.jps.api.CanceledStatus;
|
||||
import org.jetbrains.jps.builders.java.JavaCompilingTool;
|
||||
import org.jetbrains.jps.cmdline.ClasspathBootstrap;
|
||||
import org.jetbrains.jps.incremental.GlobalContextKey;
|
||||
import org.jetbrains.jps.service.SharedThreadPool;
|
||||
|
||||
import javax.tools.Diagnostic;
|
||||
import javax.tools.*;
|
||||
import java.io.File;
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
@@ -81,7 +81,7 @@ public class ExternalJavacManager {
|
||||
public void start(int listenPort) {
|
||||
final ChannelHandler compilationRequestsHandler = new CompilationRequestsHandler();
|
||||
final ServerBootstrap bootstrap = new ServerBootstrap()
|
||||
.group(new NioEventLoopGroup(1, SharedThreadPool.getInstance()))
|
||||
.group(new NioEventLoopGroup(1, ConcurrencyUtil.newNamedThreadFactory("Javac server event loop")))
|
||||
.channel(NioServerSocketChannel.class)
|
||||
.childOption(ChannelOption.TCP_NODELAY, true)
|
||||
.childOption(ChannelOption.SO_KEEPALIVE, true)
|
||||
|
||||
@@ -27,7 +27,7 @@ import java.util.concurrent.Future;
|
||||
* @author nik
|
||||
*/
|
||||
public class SharedThreadPoolImpl extends SharedThreadPool {
|
||||
private final ExecutorService myService = Executors.newCachedThreadPool(ConcurrencyUtil.newNamedThreadFactory("JPS thread pool"));
|
||||
private final ExecutorService myService = Executors.newCachedThreadPool(ConcurrencyUtil.newNamedThreadFactory("JPS thread pool", true, Thread.NORM_PRIORITY));
|
||||
|
||||
@Override
|
||||
public void execute(@NotNull Runnable command) {
|
||||
|
||||
Reference in New Issue
Block a user