Przemyslaw Czerpak 80727f27b2 2009-10-27 00:01 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/hashes.c
    ! use hb_gcMark() instead of hb_gcItemRef() to mark unlocked item

  * harbour/src/vm/garbage.c
    * moved hb_itemClear() from hb_gcGripDrop() to hb_gcGripRelease()
      Now items are freed in the same way as any other GC blocks and
      hb_gcGripDrop() is simple wrapper to hb_gcRefFree()

  * harbour/src/vm/hvm.c
  * harbour/src/vm/thread.c
    ! unlock item which stores thread return value to eliminate possible
      memory leaks, i.e. when thread returns its own pointer item.
    ! unlock item which stores notify messages to eliminate possible
      memory leaks, i.e. when mutex is used as notify value in its
      own message queue.

  * harbour/include/hbapigt.h
  * harbour/include/hbgtcore.h
  * harbour/src/rtl/hbgtcore.c
  * harbour/src/vm/garbage.c
    + added new GT method MARK() executed by GC to mark all internall
      GC blocks as used.
    + added hb_gtIsGtRef() internal function
    ! unlock internal GT items (pCargo, pNotifierBlock, pMutex) to
      eliminate possible memory leaks, i.e. when pGT item is stored
      in it's own cargo value or is accessed from notifier codeblock
2009-10-26 23:01:50 +00:00
Description
Harbour Core — Reference source for Five development
172 MiB
Languages
C 80.3%
xBase 17.8%
Makefile 0.6%
C++ 0.4%
Harbour 0.4%
Other 0.3%