Review request for 6829503
Mandy Chung
Mandy.Chung at Sun.COM
Fri Apr 17 22:05:27 UTC 2009
6829503: addShutdownHook fails if called after shutdown has commenced.
Webrev at:
http://cr.openjdk.java.net/~mchung/6829503/webrev.00/
I change the Shutdown#add method to take the registerShutdownInProgress
parameter. If set to true, the specified shutdown hook is allowed to be
registered while shutdown is in progress. The method will throw
IllegalStateException if the shutdown process already passes this
slot. DeleteOnExitHook is the last shutdown hook to be invoked and it
will not be invoked until all application shutdown hooks finish (see
ApplicationShutdownHooks.runHooks()). So any file added to the delete
on exit list by the application shutdown hooks will be handled by the
DeleteOnExitHook.
The LoggingDeadlock2.java test passes with this fix. I also add a new
jtreg test to exercise the Console and DeleteOnExitHook being
initialized during application shutdown.
Alan,
I considered your suggestion to make Shutdown#add method to return a
boolean instead of checking the state. I am concerned that if the
caller didn't check the return value and handle properly, it would be
harder to catch the problem. So I keep it to check the state and throw
IllegalStateException.
Thanks
Mandy
More information about the core-libs-dev
mailing list