public void close() {
    int attempts = 0;

    while (true) {
      try {
        acquireWriteLock();
        try {
          if (channel != null && channel.isOpen()) {
            channel.close();
            channel = null;
          }

          if (frnd != null) {
            frnd.close();
            frnd = null;
          }

          closeFD();
        } finally {
          releaseWriteLock();
          attempts++;
        }

        releaseExclusiveAccess();
        break;
      } catch (final IOException ioe) {
        OLogManager.instance().error(this, "Error during closing of file '" + getName() + "' " + attempts + "-th attempt", ioe);

        try {
          reopenFile(attempts, ioe);
        } catch (final IOException e) {
          throw OException.wrapException(new OIOException("Error during file close"), e);
        }
      }
    }

  }
public void close() {
    int attempts = 0;

    while (true) {
      try {
        acquireWriteLock();
        try {
          if (channel != null && channel.isOpen()) {
            channel.close();
            channel = null;
          }

          if (frnd != null) {
            frnd.close();
            frnd = null;
          }

          closeFD();
        } finally {
          releaseWriteLock();
          attempts++;
        }

        releaseExclusiveAccess();
        break;
      } catch (final IOException ioe) {
        OLogManager.instance().error(this, "Error during closing of file '" + getName() + "' " + attempts + "-th attempt", ioe);

        try {
          reopenFile(attempts, ioe);
        } catch (final IOException e) {
          throw OException.wrapException(new OIOException("Error during file close"), e);
        }
      }
    }

  }
public void close ( ) { int attempts = 0 ; while ( true ) { try { acquireWriteLock ( ) ; try { if ( channel != null && channel . isOpen ( ) ) { channel . close ( ) ; channel = null ; } if ( frnd != null ) { frnd . close ( ) ; frnd = null ; } closeFD ( ) ; } finally { releaseWriteLock ( ) ; attempts ++ ; } releaseExclusiveAccess ( ) ; break ; } catch ( final IOException ioe ) { OLogManager . instance ( ) . error ( this , "Error during closing of file '" + getName ( ) + "' " + attempts + "-th attempt" , ioe ) ; try { reopenFile ( attempts , ioe ) ; } catch ( final IOException e ) { throw OException . wrapException ( new OIOException ( "Error during file close" ) , e ) ; } } } }
/*
(non-Javadoc)

@see com.orientechnologies.orient.core.storage.fs.OFileAAA#close()
/ * ( non - Javadoc )