mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 19:44:41 +02:00
6541641: (fc) java/nio/channels/FileChannel/ExpandingMap.java should clean up after itself
Close channel and explicitly de-ref the mapped buffers before exit. Reviewed-by: alanb
This commit is contained in:
parent
2270e88840
commit
61dd937d11
1 changed files with 9 additions and 2 deletions
|
@ -22,7 +22,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* @test
|
/* @test
|
||||||
* @bug 4938372
|
* @bug 4938372 6541641
|
||||||
* @summary Flushing dirty pages prior to unmap can cause Cleaner thread to
|
* @summary Flushing dirty pages prior to unmap can cause Cleaner thread to
|
||||||
* abort VM if memory system has pages locked
|
* abort VM if memory system has pages locked
|
||||||
*/
|
*/
|
||||||
|
@ -39,7 +39,7 @@ import java.util.ArrayList;
|
||||||
|
|
||||||
public class ExpandingMap {
|
public class ExpandingMap {
|
||||||
|
|
||||||
public static void main(String[] args) throws IOException {
|
public static void main(String[] args) throws Exception {
|
||||||
|
|
||||||
int initialSize = 20480*1024;
|
int initialSize = 20480*1024;
|
||||||
int maximumMapSize = 16*1024*1024;
|
int maximumMapSize = 16*1024*1024;
|
||||||
|
@ -103,6 +103,13 @@ public class ExpandingMap {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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");
|
System.out.println("TEST PASSED");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue