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;
System.out.println(" " + node.getURI(graph));
}*/
- Semaphore done = new Semaphore(0);
+ GraphSemaphore done = new GraphSemaphore(graph, 0);
for(Variable node : nodes) {
}
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();
}