mirror of https://github.com/apache/archiva.git
Reverting locking modifications
This commit is contained in:
parent
d380bc6779
commit
5780110b79
|
@ -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;
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue