]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.procore/src/fi/vtt/simantics/procore/internal/SessionRequestManager.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / bundles / org.simantics.db.procore / src / fi / vtt / simantics / procore / internal / SessionRequestManager.java
index c11242163a314d8c9b69a21cb02821df18f00000..fb421b6105ba1e526f6bfcd883b01b1fe41e4287 100644 (file)
@@ -118,10 +118,10 @@ public class SessionRequestManager {
        
        public synchronized void startRead(int thread, final SessionRead task) {
                
-               session.queryProvider2.schedule(new SessionTask(null) {
+               session.queryProvider2.scheduleNow(new SessionTask(null) {
 
                        @Override
-            public void run(int thread) {
+            public void run0(int thread) {
                 try {
                     transactionState.startReadTransaction(thread);
                     task.run(thread);
@@ -142,10 +142,10 @@ public class SessionRequestManager {
        
        public synchronized void startReadUpdate(int thread) {
                
-               session.queryProvider2.schedule(new SessionTask(null) {
+               session.queryProvider2.scheduleNow(new SessionTask(null) {
 
                        @Override
-                       public void run(int thread) {
+                       public void run0(int thread) {
 
                                session.fireFinishReadTransaction();
 
@@ -163,10 +163,10 @@ public class SessionRequestManager {
 
        public synchronized void startWrite(int thread, final SessionTask task) {
                
-               session.queryProvider2.schedule(new SessionTask(null) {
+               session.queryProvider2.scheduleNow(new SessionTask(null) {
 
                        @Override
-                       public void run(int thread) {
+                       public void run0(int thread) {
 
                        try {
                                transactionState.startWriteTransaction(thread);
@@ -184,10 +184,10 @@ public class SessionRequestManager {
 
        public synchronized void startWriteUpdate(int thread) {
                
-               session.queryProvider2.schedule(new SessionTask(null) {
+               session.queryProvider2.scheduleNow(new SessionTask(null) {
 
                        @Override
-                       public void run(int thread) {
+                       public void run0(int thread) {
 
                                // Support for DelayedWriteRequest cancels during the
                                // read-only part of the request.
@@ -271,10 +271,10 @@ public class SessionRequestManager {
                        if (!reads.isEmpty()) {
 
                                final SessionRead read = reads.poll();
-                               session.queryProvider2.schedule(new SessionTask(null) {
+                               session.queryProvider2.scheduleNow(new SessionTask(null) {
 
                                        @Override
-                                       public void run(int thread) {
+                                       public void run0(int thread) {
                                                read.run(thread);
                                                if(read.notify != null) read.notify.release();
                                        }
@@ -312,10 +312,10 @@ public class SessionRequestManager {
                assert(State.INIT != state);
                
                if(State.READ == state) {
-                       session.queryProvider2.schedule(new SessionTask(null) {
+                       session.queryProvider2.scheduleNow(new SessionTask(null) {
 
                                @Override
-                               public void run(int thread) {
+                               public void run0(int thread) {
                                        try {
                                                task.run(thread);
                                        } finally {