]> source.dussan.org Git - archiva.git/commitdiff
Reverting locking modifications
authorMartin Stockhammer <martin_s@apache.org>
Thu, 27 Oct 2016 15:36:27 +0000 (17:36 +0200)
committerMartin Stockhammer <martin_s@apache.org>
Thu, 27 Oct 2016 15:44:10 +0000 (17:44 +0200)
archiva-modules/archiva-base/archiva-filelock/src/main/java/org/apache/archiva/common/filelock/DefaultFileLockManager.java

index 258366aa94b65030e5492e446d39f4b1f88ace45..ee4fb35be54ebc3644656190e812336c3ac4ac58 100644 (file)
@@ -31,7 +31,6 @@ import java.io.RandomAccessFile;
 import java.nio.channels.ClosedChannelException;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
 
 /**
  * @author Olivier Lamy
@@ -52,6 +51,7 @@ public class DefaultFileLockManager
 
     private int timeout = 0;
 
+
     @Override
     public Lock readFileLock( File file )
         throws FileLockException, FileLockTimeoutException
@@ -162,18 +162,20 @@ public class DefaultFileLockManager
                 }
             }
 
+            Lock current = lockFiles.get( file );
+
             try
             {
-                Lock current = lockFiles.get( file );
+
                 if ( current != null )
                 {
                     log.debug( "write lock file exist continue wait" );
 
                     continue;
                 }
-                lock = new Lock(file, true);
-                createNewFileQuietly(file);
-                lock.openLock(true, timeout > 0);
+                lock = new Lock( file, true );
+                createNewFileQuietly( file );
+                lock.openLock( true, timeout > 0 );
                 acquired = true;
             }
             catch ( FileNotFoundException e )
@@ -189,47 +191,20 @@ public class DefaultFileLockManager
             }
             catch ( IOException e )
             {
-                if (lock!=null && lock.isValid()) {
-                    try {
-                        lock.close();
-                    } catch (IOException ex) {
-                        // Ignore
-                    }
-                }
                 throw new FileLockException( e.getMessage(), e );
             }
             catch ( IllegalStateException e )
             {
-                // Ignore this
                 log.debug( "openLock {}:{}", e.getClass(), e.getMessage() );
-            } catch (Throwable t) {
-                if (lock!=null && lock.isValid()) {
-                    try {
-                        lock.close();
-                    } catch (IOException ex) {
-                        // Ignore
-                    }
-                }
-                throw t;
             }
-
         }
 
         Lock current = lockFiles.putIfAbsent( file, lock );
-        if (lock!=null && lock != current) {
-            try {
-                lock.close();
-            } catch (IOException e) {
-                // ignore
-            }
-
-        }
         if ( current != null )
         {
             lock = current;
         }
 
-
         return lock;