Author: peter_firmstone
Date: Wed Jul 10 20:27:23 2013
New Revision: 1501966

URL: http://svn.apache.org/r1501966
Log:
Minor update to reggie, to ensure lock is held during recovery and while taking 
snapshots

Modified:
    
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/reggie/RegistrarImpl.java

Modified: 
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/reggie/RegistrarImpl.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/reggie/RegistrarImpl.java?rev=1501966&r1=1501965&r2=1501966&view=diff
==============================================================================
--- 
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/reggie/RegistrarImpl.java 
(original)
+++ 
river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/reggie/RegistrarImpl.java 
Wed Jul 10 20:27:23 2013
@@ -1635,14 +1635,24 @@ class RegistrarImpl implements Registrar
         
        /* Overrides snapshot() defined in ReliableLog's LogHandler class. */
        public void snapshot(OutputStream out) throws IOException {
-           takeSnapshot(out);
+            concurrentObj.readLock();
+            try {
+                takeSnapshot(out);
+            } finally {
+                concurrentObj.readUnlock();
+            }
        }
 
        /* Overrides recover() defined in ReliableLog's LogHandler class. */
        public void recover(InputStream in)
            throws IOException, ClassNotFoundException
        {
-           recoverSnapshot(in);
+            concurrentObj.writeLock();
+            try {
+                recoverSnapshot(in);
+            } finally {
+                concurrentObj.writeUnlock();
+            }
        }
 
        /**


Reply via email to