Review request for 6829503
David Holmes - Sun Microsystems
David.Holmes at Sun.COM
Sun Apr 19 12:01:51 UTC 2009
> 2. File#deleteOnExit doesn't allow IllegalStateException to be thrown so
> maybe we should change DeleteOnExit#add to be a no-op if its shutdown
> hook is running. If an application is attempting to register files to be
> deleted during shutdown it will always be a timing issue if the file is
> deleted or not.
But a runtime exception is better than silent failure when the file will
not be deleted. And the exception here is not new.
Is this a flaw in the File#deleteOnExit API - because it gives the
illusion that it can always succeed when in fact the code requesting
this can be running concurrently with the code responsible for making it
happen? Maybe that is a deficiency of the whole mechanism - really we
should be using a native deletion mechanism that is only done once the
VM arrives at the termination safepoint - as that is the only time we
know for sure that no more Java code can be executed. But that would be
a RFE on the deleteOnExit mechanism.
More information about the core-libs-dev