Hi Neil,

On 22/11/2011 9:51 PM, Neil Richards wrote:
I've created a webrev [1] to address the problem reported in bug
7094995, where the ClearStaleZipFileInputStreams testcase leaves a
lingering GC inducing thread running after the test ends (when run in
agentvm mode), as spotted by Alan and mentioned in another conversation
[2].

It modifies the testcase so the main thread tells the GcInducingThread
to shut down, and waits for it to do so (using Thread.join()) before
exiting.

As per the discussion from Alan and Chris, I would code it so that interrupt terminates the thread:

   catch (InterruptedException ie) {
     return;
   }

I've also converted the testcase's use of ZipFile, ZipOutputStream&
FileOutputStream to use ARM (for greater clarity).

I think proper use of ARM requires that this:

  66         try (ZipOutputStream zos =
67 new ZipOutputStream(new FileOutputStream(tempZipFile))) {

be written as:

   try (FileOutputStream fos = new FileOutputStream(tempZipFile);
        ZipOutputStream zos = new ZipOutputStream(fos)) {

Cheers,
David

Please let me know your thoughts on this change,

Thanks, Neil

[1] http://cr.openjdk.java.net/~ngmr/7094995/webrev.00/
[2] 
http://mail.openjdk.java.net/pipermail/core-libs-dev/2011-November/008251.html

Reply via email to