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