The behavior of RI may leave some files marked as deleteOnExit after vm exit, so it's confused why marked files wasn't deleted after vm exit, and it doesn't match the
semantic of this method. Maybe it's RI's bug?

Best Regards,
Regis.

Tim Ellison wrote:
I suggest Harmony changes to match the behavior of the RI in this case.

It will avoid unnecessary incompatibilities and seems logical for
programs that create dir and mark for deleteOnExit, then create files
and mark for deleteOnExit etc. as they go.

Regards,
Tim

Regis Xu (JIRA) wrote:
[classlib][luni] - File.deleteOnExit has different behaviours with RI
---------------------------------------------------------------------


Key: HARMONY-5979 URL:
https://issues.apache.org/jira/browse/HARMONY-5979 Project: Harmony Issue Type: Bug Components: Classlib Affects Versions: 5.0M7 Reporter: Regis Xu Fix For: 5.0M8


consider the following test:

File f1 = new File("d1"); f1.mkdirs(); File f2 = new File("d1/d2"); f2.mkdirs(); File f3 = new File("d1/d2/f1");

f3.createNewFile();

f3.deleteOnExit(); f2.deleteOnExit(); f1.deleteOnExit();

RI leaves d1 and d2, while Harmony deletes all of the three files. If
we change the order of invoke deleteOnExit to f2.deleteOnExit(); f3.deleteOnExit(); f1.deleteOnExit(); RI leaves d1, Harmony also
detete all the three files. It seems RI delete files in the reverse
order of invoking deleteOnExit. And spec doesn't mention which order
should be used, is it a non-bug difference, or we should fix it to be
compatible with RI?



Reply via email to