Mercurial > jhg
diff src/org/tmatesoft/hg/util/RegularFileInfo.java @ 619:868b2ffdcd5c
Close FIS, not FileChannel, to clear both references to FileDescriptor right away
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Fri, 17 May 2013 22:04:23 +0200 |
parents | c02b5710d9ac |
children |
line wrap: on
line diff
--- a/src/org/tmatesoft/hg/util/RegularFileInfo.java Thu May 16 19:46:13 2013 +0200 +++ b/src/org/tmatesoft/hg/util/RegularFileInfo.java Fri May 17 22:04:23 2013 +0200 @@ -66,7 +66,7 @@ } public int lastModified() { - // TODO post-1.0 for symlinks, this returns incorrect mtime of the target file, not that of link itself + // TODO [post-1.1] for symlinks, this returns incorrect mtime of the target file, not that of link itself // Besides, timestame if link points to non-existing file is 0. // However, it result only in slowdown in WCStatusCollector, as it need to perform additional content check return (int) (file.lastModified() / 1000); @@ -84,6 +84,10 @@ if (isSymlink()) { return new ByteArrayReadableChannel(getLinkTargetBytes()); } else { + // TODO [2.0 API break] might be good idea replace channel with smth + // else, to ensure #close() disposes FileDescriptor. Now + // FD has usage count of two (new FileInputStream + getChannel), + // and FileChannel#close decrements only 1, second has to wait FIS#finalize() return new FileInputStream(file).getChannel(); } } catch (FileNotFoundException ex) {