From 3982fe311b93de3092c39120b787a9c686f7cbcc Mon Sep 17 00:00:00 2001 From: akosyakov Date: Mon, 30 May 2016 12:06:39 +0200 Subject: [PATCH] [lsi] Fixed running of write requests Change-Id: I181b9d61617d7396db8a3da6733802e94feeb199 Signed-off-by: akosyakov --- .../xtext/ide/server/concurrent/RequestManager.xtend | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/server/concurrent/RequestManager.xtend b/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/server/concurrent/RequestManager.xtend index e9d656717..d3c170175 100644 --- a/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/server/concurrent/RequestManager.xtend +++ b/plugins/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/server/concurrent/RequestManager.xtend @@ -46,7 +46,7 @@ class RequestManager { def CompletableFuture runWrite((CancelIndicator)=>void writeRequest, CancelIndicator cancelIndicator) { cancelIndicators.forEach[cancel] return CompletableFuture.runAsync([ - run([writeRequest], MAX_PERMITS, cancelIndicator) + writeRequest.withVoidAsReturnType.run(MAX_PERMITS, cancelIndicator) ], writeExecutorService) } @@ -56,7 +56,7 @@ class RequestManager { def CompletableFuture runRead((CancelIndicator)=>V readRequest, CancelIndicator cancelIndicator) { return CompletableFuture.supplyAsync([ - run(readRequest, 1, cancelIndicator) + readRequest.run(1, cancelIndicator) ], readExecutorService) } @@ -79,4 +79,11 @@ class RequestManager { } } + protected def (CancelIndicator)=>Void withVoidAsReturnType((CancelIndicator)=>void request) { + return [ cancelIindicator | + request.apply(cancelIindicator) + return null + ] + } + }