From 2f77c8c8e746fa403275a951768406fa74f5c12a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=A4der?= Date: Thu, 24 Aug 2017 10:03:00 +0200 Subject: [PATCH] Extend LS grace period an return early when done. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Thomas Mäder --- .../launcher/LanguageServerLauncherTemplate.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/wsagent/che-core-api-languageserver/src/main/java/org/eclipse/che/api/languageserver/launcher/LanguageServerLauncherTemplate.java b/wsagent/che-core-api-languageserver/src/main/java/org/eclipse/che/api/languageserver/launcher/LanguageServerLauncherTemplate.java index 81c2e9bf50b..baf732ce98a 100644 --- a/wsagent/che-core-api-languageserver/src/main/java/org/eclipse/che/api/languageserver/launcher/LanguageServerLauncherTemplate.java +++ b/wsagent/che-core-api-languageserver/src/main/java/org/eclipse/che/api/languageserver/launcher/LanguageServerLauncherTemplate.java @@ -43,10 +43,14 @@ public final LanguageServer launch(String projectPath, LanguageClient client) * @throws LanguageServerException */ private void waitCheckProcess(Process languageServerProcess) throws LanguageServerException { + long endTime = System.currentTimeMillis() + TimeUnit.SECONDS.toMillis(20); + try { - TimeUnit.SECONDS.sleep(5); + while (!languageServerProcess.isAlive() && System.currentTimeMillis() < endTime) { + TimeUnit.MILLISECONDS.sleep(10); + } } catch (InterruptedException e) { - //ignore + Thread.currentThread().interrupt(); } if (!languageServerProcess.isAlive()) { final String error;