@Override public final void close() throws IOException { try { if (buffers == null) return; // make local copy, then un-set early final ByteBuffer[] bufs = buffers; unsetBuffers(); if (isClone) return; // tell the guard to invalidate and later unmap the bytebuffers (if supported): guard.invalidateAndUnmap(bufs); } finally { unsetBuffers(); } }
@Override public final void close() throws IOException { try { if (buffers == null) return; // make local copy, then un-set early final ByteBuffer[] bufs = buffers; unsetBuffers(); if (isClone) return; // tell the guard to invalidate and later unmap the bytebuffers (if supported): guard.invalidateAndUnmap(bufs); } finally { unsetBuffers(); } }