OpenJDK / amber / amber
changeset 842:93b8777f4184
6541641: (fc) java/nio/channels/FileChannel/ExpandingMap.java should clean up after itself
Summary: Close channel and explicitly de-ref the mapped buffers before exit.
Reviewed-by: alanb
author | sherman |
---|---|
date | Wed, 16 Jul 2008 15:09:24 -0700 |
parents | 3234b58ccc92 |
children | e50aa264deca |
files | jdk/test/java/nio/channels/FileChannel/ExpandingMap.java |
diffstat | 1 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/jdk/test/java/nio/channels/FileChannel/ExpandingMap.java Mon Jul 14 14:03:42 2008 -0700 +++ b/jdk/test/java/nio/channels/FileChannel/ExpandingMap.java Wed Jul 16 15:09:24 2008 -0700 @@ -22,7 +22,7 @@ */ /* @test - * @bug 4938372 + * @bug 4938372 6541641 * @summary Flushing dirty pages prior to unmap can cause Cleaner thread to * abort VM if memory system has pages locked */ @@ -39,7 +39,7 @@ public class ExpandingMap { - public static void main(String[] args) throws IOException { + public static void main(String[] args) throws Exception { int initialSize = 20480*1024; int maximumMapSize = 16*1024*1024; @@ -103,6 +103,13 @@ } } + fc.close(); + // cleanup the ref to mapped buffers so they can be GCed + for (int i = 0; i < buffers.length; i++) + buffers[i] = null; + System.gc(); + // Take a nap to wait for the Cleaner to cleanup those unrefed maps + Thread.sleep(1000); System.out.println("TEST PASSED"); }