diff --git a/platform/platform-api/src/org/jetbrains/ide/CustomPortServerManager.java b/platform/platform-api/src/org/jetbrains/ide/CustomPortServerManager.java index 3a0833dcbe91..25633b5077cd 100644 --- a/platform/platform-api/src/org/jetbrains/ide/CustomPortServerManager.java +++ b/platform/platform-api/src/org/jetbrains/ide/CustomPortServerManager.java @@ -11,6 +11,8 @@ public abstract class CustomPortServerManager { public interface CustomPortService { boolean rebind(); + + boolean isBound(); } public abstract int getPort(); diff --git a/platform/platform-impl/src/org/jetbrains/io/SubServer.java b/platform/platform-impl/src/org/jetbrains/io/SubServer.java index fb8d065161b3..5440afe76b96 100644 --- a/platform/platform-impl/src/org/jetbrains/io/SubServer.java +++ b/platform/platform-impl/src/org/jetbrains/io/SubServer.java @@ -37,6 +37,11 @@ public class SubServer implements CustomPortServerManager.CustomPortService, Dis } } + @Override + public boolean isBound() { + return !openChannels.isEmpty(); + } + private void stop() { // todo should we call releaseExternalResources? We use only 1 boss&worker thread openChannels.close().awaitUninterruptibly();