X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=bundles%2Forg.simantics.document.server%2Fsrc%2Forg%2Fsimantics%2Fdocument%2Fserver%2Frequest%2FDocumentRequest.java;fp=bundles%2Forg.simantics.document.server%2Fsrc%2Forg%2Fsimantics%2Fdocument%2Fserver%2Frequest%2FDocumentRequest.java;h=1726887cb359d8f92acafb3bb34be41dbd693165;hb=1f8b50d81a1aa1bbd67a77f7cbc1060f2eb805d4;hp=87b244c88ba28e1c43129cdf098a43e2f7781201;hpb=86bb6157fdcb4a11caee57487cf8fa894eaae2dd;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.document.server/src/org/simantics/document/server/request/DocumentRequest.java b/bundles/org.simantics.document.server/src/org/simantics/document/server/request/DocumentRequest.java index 87b244c88..1726887cb 100644 --- a/bundles/org.simantics.document.server/src/org/simantics/document/server/request/DocumentRequest.java +++ b/bundles/org.simantics.document.server/src/org/simantics/document/server/request/DocumentRequest.java @@ -10,6 +10,7 @@ import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; import org.simantics.db.ReadGraph; +import org.simantics.db.common.GraphSemaphore; import org.simantics.db.common.procedure.adapter.TransientCacheAsyncListener; import org.simantics.db.exception.DatabaseException; import org.simantics.db.layer0.request.VariableRead; @@ -79,7 +80,7 @@ public class DocumentRequest extends VariableRead> { System.out.println(" " + node.getURI(graph)); }*/ - Semaphore done = new Semaphore(0); + GraphSemaphore done = new GraphSemaphore(graph, 0); for(Variable node : nodes) { @@ -111,12 +112,7 @@ public class DocumentRequest extends VariableRead> { } try { - boolean success = done.tryAcquire(nodes.size(), 10, TimeUnit.MILLISECONDS); - while(!success) { - success = done.tryAcquire(nodes.size(), 10, TimeUnit.MILLISECONDS); - System.err.println("still trying to acquire semaphore, avail = " + done.availablePermits() ); - } - + done.waitFor(nodes.size()); } catch (InterruptedException e) { e.printStackTrace(); }