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
[email protected]
https://lists.sourceforge.net/lists/listinfo/xharbour-developers