From c520ef833ec8585a452dc4c60ab6b8d03890e762 Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Thu, 13 Apr 2017 15:52:15 -0700 Subject: [PATCH] Add warning comment in anticipation of fixing bug --- .../languageserver/util/SimpleLanguageServer.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java index 5e9ae3335..23a913644 100644 --- a/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java +++ b/headless-services/commons/commons-language-server/src/main/java/org/springframework/ide/vscode/commons/languageserver/util/SimpleLanguageServer.java @@ -294,6 +294,15 @@ public abstract class SimpleLanguageServer implements LanguageServer, LanguageCl } } + /** + * If reconciler is in progress, waits for it. + *

+ * WARNING: this is quick and dirty hack, its good enough for test harness, if used + * with care, but probably not good enough to avoid all race conditions caused by + * stuff using old infos cached by the reconciler after underlying document has changed + * (because there could be a short delay between the moment the reconcile becomes 'busy' and the moment + * when the document change was processed. + */ public void waitForReconcile() throws Exception { while (!this.busyReconcile.isDone()) { this.busyReconcile.get();