2008-04-16 15:30 UTC-0430 Ron Pinkas <ron/at/xharbour.com> * include/classes.h * source/vm/classes.c + Added hb_clsDisableDestructors() and hb_clsClearAll() + Added logic to raise internal error if Destructor encountered after Destructors can no longer be executed
* include/hbapi.h * source/vm/memvars.c + Added hb_memvarsClear() * source/vm/hvm.c * Cleaned hb_vmQuit() shutdown order, and use new: hb_clsDisableDestructors(), hb_clsClearAll(), and hb_memvarsClear() to guarntee that all prg data is cleared before any C subsystem is released. /* I'm not sure why we had a comment stating that Destructors should not run after STATICs have been released it suggested possibility of Destructor activating DBG code which may use STATICs, but the Debugger is already deactivated at that point. I added 2 #ifdefs to allow disable of Destructors before release of STATICS as well as before release of prg data in class definitions (f.e INIT values). #ifdef DISABLE_STATIC_DESTRUCTORS #ifdef DISABLE_DATA_DESTRUCTORS Otherwise xHarbour now gurantees execution of all Destructors. */ ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ xHarbour-developers mailing list xHarbour-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xharbour-developers