]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/QueryCache.java
Fix livelock situation in QueryProcessor
[simantics/platform.git] / bundles / org.simantics.db.impl / src / org / simantics / db / impl / query / QueryCache.java
index 5c18d051089ef6026ce58048947bd82ae3e4f9b2..cc0ca919b584942a4d49a1a4c61b97b741e631f2 100644 (file)
@@ -670,7 +670,7 @@ public class QueryCache extends QueryCacheBase {
         }
         ReadEntry entry = (ReadEntry)cache.getOrCreateReadEntry(graph, r, needsToBlock);
         if(entry == null) {
         }
         ReadEntry entry = (ReadEntry)cache.getOrCreateReadEntry(graph, r, needsToBlock);
         if(entry == null) {
-          graph.processor.schedule(new SessionTask(graph) {
+          graph.processor.scheduleNow(new SessionTask(graph) {
             @Override
             public void run0(int thread) {
               try {
             @Override
             public void run0(int thread) {
               try {
@@ -749,7 +749,7 @@ public class QueryCache extends QueryCacheBase {
         }
         AsyncReadEntry entry = (AsyncReadEntry)cache.getOrCreateAsyncReadEntry(graph, r, needsToBlock);
         if(entry == null) {
         }
         AsyncReadEntry entry = (AsyncReadEntry)cache.getOrCreateAsyncReadEntry(graph, r, needsToBlock);
         if(entry == null) {
-          graph.processor.schedule(new SessionTask(graph) {
+          graph.processor.scheduleNow(new SessionTask(graph) {
             @Override
             public void run0(int thread) {
               try {
             @Override
             public void run0(int thread) {
               try {