}
}, id, true);
-
- id.perform(proc.queryGraph, proc);
- proc.dec();
- proc.get();
+ proc.performSync(id);
} catch (Throwable t) {
except(t);
AsyncProcedure<T> procedure_, boolean needsToBlock) throws DatabaseException {
BlockingAsyncProcedure<T> proc = new BlockingAsyncProcedure(callerGraph, entry, procedure_, request, needsToBlock);
-
- try {
- request.perform(proc.queryGraph, proc);
- } finally {
- proc.queryGraph.asyncBarrier.dec();
- }
-
if(needsToBlock) {
- proc.waitBarrier();
- return proc.get();
+ return proc.performSync(request);
} else {
+ proc.performAsync(request);
return null;
}