@Override protected void reopen() throws IOException { closeFd(fd()); EnumSet<OpenOption> options = EnumSet.noneOf(OpenOption.class); if (isReadOnly()) { options.add(OpenOption.READ_ONLY); } if ((mReopenOptions & REOPEN_SYNC_IO) != 0) { options.add(OpenOption.SYNC_IO); } if ((mReopenOptions & REOPEN_NON_DURABLE) != 0) { options.add(OpenOption.NON_DURABLE); } if ((mReopenOptions & REOPEN_DIRECT_IO) != 0) { options.add(OpenOption.DIRECT_IO); } mFileDescriptor = openFd(mFile, options); }
PosixFileIO.fsyncFd(fd); } finally { PosixFileIO.closeFd(fd);
PosixFileIO.fsyncFd(fd); } finally { PosixFileIO.closeFd(fd);
PosixFileIO.fsyncFd(fd); } finally { PosixFileIO.closeFd(fd);
void doClose(long mappingPtr) throws IOException { PosixFileIO.munmap(mappingPtr, super.getPageCount() * pageSize()); if (mFileDescriptor != -1) { PosixFileIO.closeFd(mFileDescriptor); } } }
void doClose(long mappingPtr) throws IOException { PosixFileIO.munmap(mappingPtr, super.getPageCount() * pageSize()); if (mFileDescriptor != -1) { PosixFileIO.closeFd(mFileDescriptor); } } }
void doClose(long mappingPtr) throws IOException { PosixFileIO.munmap(mappingPtr, super.getPageCount() * pageSize()); if (mFileDescriptor != -1) { PosixFileIO.closeFd(mFileDescriptor); } } }
@Override protected void reopen() throws IOException { mAccessLatch.acquireShared(); try { closeFd(fd()); EnumSet<OpenOption> options = EnumSet.noneOf(OpenOption.class); if (isReadOnly()) { options.add(OpenOption.READ_ONLY); } if ((mReopenOptions & REOPEN_SYNC_IO) != 0) { options.add(OpenOption.SYNC_IO); } if ((mReopenOptions & REOPEN_NON_DURABLE) != 0) { options.add(OpenOption.NON_DURABLE); } mFileDescriptor = openFd(mFile, options); } finally { mAccessLatch.releaseShared(); } }
@Override protected void reopen() throws IOException { mAccessLatch.acquireShared(); try { closeFd(fd()); EnumSet<OpenOption> options = EnumSet.noneOf(OpenOption.class); if (isReadOnly()) { options.add(OpenOption.READ_ONLY); } if ((mReopenOptions & REOPEN_SYNC_IO) != 0) { options.add(OpenOption.SYNC_IO); } if ((mReopenOptions & REOPEN_NON_DURABLE) != 0) { options.add(OpenOption.NON_DURABLE); } mFileDescriptor = openFd(mFile, options); } finally { mAccessLatch.releaseShared(); } }
} catch (Throwable e) { try { closeFd(fd); } catch (IOException e2) { Utils.suppress(e, e2);
@Override public void close(Throwable cause) throws IOException { int fd; mAccessLatch.acquireExclusive(); try { fd = mFileDescriptor; if (fd == 0) { return; } mCause = cause; mFileDescriptor = 0; } finally { mAccessLatch.releaseExclusive(); } IOException ex = null; try { unmap(false); } catch (IOException e) { ex = e; } try { closeFd(fd); } catch (IOException e) { if (ex != null) { e.addSuppressed(ex); } throw e; } }
} catch (IOException e) { try { PosixFileIO.closeFd(fd); } catch (IOException e2) { Utils.suppress(e, e2); } catch (IOException e) { try { PosixFileIO.closeFd(fd); } catch (IOException e2) { Utils.suppress(e, e2); } catch (IOException e) { try { PosixFileIO.closeFd(fd); } catch (IOException e2) { Utils.suppress(e, e2);
closeFd(fd); } catch (IOException e) { Utils.suppress(e, ex);
} catch (IOException e) { try { PosixFileIO.closeFd(fd); } catch (IOException e2) { e.addSuppressed(e2); } catch (IOException e) { try { PosixFileIO.closeFd(fd); } catch (IOException e2) { e.addSuppressed(e2); } catch (IOException e) { try { PosixFileIO.closeFd(fd); } catch (IOException e2) { e.addSuppressed(e2);
closeFd(fd); } catch (IOException e) { Utils.suppress(e, ex);
} catch (IOException e) { try { PosixFileIO.closeFd(fd); } catch (IOException e2) { Utils.suppress(e, e2); } catch (IOException e) { try { PosixFileIO.closeFd(fd); } catch (IOException e2) { Utils.suppress(e, e2); } catch (IOException e) { try { PosixFileIO.closeFd(fd); } catch (IOException e2) { Utils.suppress(e, e2);