Revision: 12773
http://harbour-project.svn.sourceforge.net/harbour-project/?rev=12773&view=rev
Author: druzus
Date: 2009-10-26 23:01:50 +0000 (Mon, 26 Oct 2009)
Log Message:
-----------
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
Modified Paths:
--------------
trunk/harbour/ChangeLog
trunk/harbour/include/hbapigt.h
trunk/harbour/include/hbgtcore.h
trunk/harbour/src/rtl/hbgtcore.c
trunk/harbour/src/vm/garbage.c
trunk/harbour/src/vm/hashes.c
trunk/harbour/src/vm/hvm.c
trunk/harbour/src/vm/thread.c
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour