Author: peter_firmstone
Date: Sat Dec 15 06:08:03 2018
New Revision: 1848978

URL: http://svn.apache.org/viewvc?rev=1848978&view=rev
Log:
RIVER-465 Condition await called while holding read lock when taking 
persistence snapshot - should be write lock. Fix.

Modified:
    river/jtsk/modules/src/org/apache/river/fiddler/FiddlerImpl.java
    river/jtsk/modules/src/org/apache/river/reggie/RegistrarImpl.java

Modified: river/jtsk/modules/src/org/apache/river/fiddler/FiddlerImpl.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/modules/src/org/apache/river/fiddler/FiddlerImpl.java?rev=1848978&r1=1848977&r2=1848978&view=diff
==============================================================================
--- river/jtsk/modules/src/org/apache/river/fiddler/FiddlerImpl.java (original)
+++ river/jtsk/modules/src/org/apache/river/fiddler/FiddlerImpl.java Sat Dec 15 
06:08:03 2018
@@ -2248,7 +2248,7 @@ class FiddlerImpl implements ServerProxy
 
         public void run() {
             try {
-                fiddler.concurrentObj.readLock();
+                fiddler.concurrentObj.writeLock();
             } catch (ConcurrentLockException e) {
                 return;
             }
@@ -2287,7 +2287,7 @@ class FiddlerImpl implements ServerProxy
                     }
                 }//end while           
             } finally {
-                fiddler.concurrentObj.readUnlock();
+                fiddler.concurrentObj.writeUnlock();
             }
         }//end run
     }//end class SnapshotThread

Modified: river/jtsk/modules/src/org/apache/river/reggie/RegistrarImpl.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/modules/src/org/apache/river/reggie/RegistrarImpl.java?rev=1848978&r1=1848977&r2=1848978&view=diff
==============================================================================
--- river/jtsk/modules/src/org/apache/river/reggie/RegistrarImpl.java (original)
+++ river/jtsk/modules/src/org/apache/river/reggie/RegistrarImpl.java Sat Dec 
15 06:08:03 2018
@@ -3086,7 +3086,7 @@ class RegistrarImpl implements Registrar
            if (reggie.log == null) {
                return;
            }
-            reggie.concurrentObj.readLock();
+            reggie.concurrentObj.writeLock();
            try {
                while (!Thread.currentThread().isInterrupted()) {
                     try {
@@ -3106,7 +3106,7 @@ class RegistrarImpl implements Registrar
                     }
                }
            } finally {
-               reggie.concurrentObj.readUnlock();
+               reggie.concurrentObj.writeUnlock();
            }
        }
     }


Reply via email to