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

Reply via email to