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(); } } }