On 29/09/14 13:42, Alan Bateman wrote:
On 29/09/2014 09:51, Daniel Fuchs wrote:

The files created by the test (both log files and lock files) will be
removed by the finally block at lines 150 - 174 - so the test shouldn't
leave any files open (which I verified by running the test on a JDK that
does not have the fix).
It's the lock files created at L233 & L234 that I'm wondering about.
Suppose creating the second lock fails, that will leave the first lock
file open (even if it removed).

Do you mean that calling delete() will not close the file?

The lock files created at lines 233-234 are those that
are declared at lines 127-130 and they will be deleted
at line 164.

But since all the test wants to do at lines 233-234 is to
create the files, then it could probably close them just
after creating them.
We don't need to leave the file descriptors open.
It's a good point.

- 233   FileChannel.open(Paths.get(file + ".lck"), CREATE_NEW, WRITE);
- 234   FileChannel.open(Paths.get(file + ".1.lck"), CREATE_NEW, WRITE);
+ 233   FileChannel.open(Paths.get(file + ".lck"), CREATE_NEW, WRITE)
           .close();
+ 234  FileChannel.open(Paths.get(file + ".1.lck"), CREATE_NEW, WRITE)
           .close();

http://cr.openjdk.java.net/~dfuchs/webrev_8059269/webrev.01

Thanks!

-- daniel



-Alan.

Reply via email to