import java.util.HashMap;
import java.util.Map;
+import org.simantics.db.impl.BlockingAsyncProcedure;
import org.simantics.db.impl.query.CacheEntry;
import org.simantics.db.impl.query.QueryProcessor.SessionTask;
public static final HashMap<AsyncBarrierImpl, CacheEntry<?>> entryMap = new HashMap<>();
public static final HashMap<AsyncBarrierImpl, Throwable> restartMap = new HashMap<>();
public static final HashMap<AsyncBarrierImpl, Throwable> startMap = new HashMap<>();
+ public static final HashMap<BlockingAsyncProcedure, Throwable> baps = new HashMap<>();
+ synchronized public static void registerBAP(BlockingAsyncProcedure bap) {
+ baps.put(bap, new Exception());
+ }
+
+ synchronized public static void unregisterBAP(BlockingAsyncProcedure bap) {
+ baps.remove(bap);
+ }
+
+ synchronized public static void printBAPS() {
+ for(BlockingAsyncProcedure bap : baps.keySet()) {
+ bap.print();
+ Throwable t = baps.get(bap);
+ if(t != null)
+ t.printStackTrace();
+ }
+ }
+
public static void trace(AsyncBarrierImpl barrier, CacheEntry<?> entry) {
if (RESTART_GUARD) {