Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
patches/7893-draft.diff
patches/8460-draft.diff
patches/8745-draft.diff
patches/8770.diff
patches/disable-error-notification.diff
patches/mvn-sh.diff
patches/project-marker-jdk.diff
Expand Down
35 changes: 35 additions & 0 deletions patches/8770.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java
index 747d151600..c4dee13f92 100644
--- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java
+++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java
@@ -142,6 +142,7 @@ import org.netbeans.modules.parsing.spi.indexing.Indexable;
import org.netbeans.modules.progress.spi.InternalHandle;
import org.netbeans.spi.project.ActionProgress;
import org.netbeans.spi.project.ActionProvider;
+import org.openide.LifecycleManager;
import org.openide.filesystems.FileObject;
import org.openide.filesystems.FileUtil;
import org.openide.util.Lookup;
@@ -460,6 +461,7 @@ public final class Server {
private final OpenedDocuments openedDocuments = new OpenedDocuments();

private final LspSession lspSession;
+ private boolean shutdownReqReceived = false;

LanguageServerImpl(LspSession session) {
this.lspSession = session;
@@ -1103,11 +1105,14 @@ public final class Server {

@Override
public CompletableFuture<Object> shutdown() {
+ shutdownReqReceived = true;
return CompletableFuture.completedFuture(null);
}

@Override
public void exit() {
+ int exitCode = shutdownReqReceived ? 0 : 1;
+ LifecycleManager.getDefault().exit(exitCode);
}

@JsonDelegate