private void close(final IRootBlockView rbv) throws IOException {
  m_writeLock.lock();
  try {
    if (m_closeRootBlock != null)     throw new IllegalStateException("LogFile is already closed");
    writeRootBlock(rbv.isRootBlock0(),rbv);
    m_closeRootBlock=rbv;
    m_callback.release(this);
    m_fileChange.signalAll();
  }
  finally {
    m_writeLock.unlock();
  }
}

private void close ( final IRootBlockView rbv ) throws IOException { m_writeLock . lock ( ) ; try { if ( m_closeRootBlock != null ) throw new IllegalStateException ( "LogFile is already closed" ) ; writeRootBlock ( rbv . isRootBlock0 ( ) , rbv ) ; m_closeRootBlock = rbv ; m_callback . release ( this ) ; m_fileChange . signalAll ( ) ; } finally { m_writeLock . unlock ( ) ; } }
called by the halogwriter to close the log file with the committing rootblock .
