ChangeLog 2000-07-08 10:40 UTC+0100

This commit is contained in:
Ryszard Glab
2000-07-08 08:33:37 +00:00
parent 0ffa8abdf3
commit 2440c7a2d4
2 changed files with 18 additions and 9 deletions

View File

@@ -1,3 +1,9 @@
2000-07-08 10:40 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
*source/vm/garbage.c
* fixed possible endless loop during the garbage collecting
(this time for real :-)
2000-07-07 17:30 UTC+0800 Ron Pinkas <ron@profit-master.com>
- include\harbour.slx
- source\compiler\harbourl.c

View File

@@ -271,19 +271,22 @@ BOOL hb_gcItemRef( HB_ITEM_PTR pItem, void *pBlock )
ULONG ulSize = pItem->item.asArray.value->ulLen;
--pAlloc;
pAlloc->status |= HB_GC_CHECKING;
pItem = pItem->item.asArray.value->pItems;
while( ulSize-- )
if( !( pAlloc->status & HB_GC_CHECKING ) )
{
if( hb_gcItemRef( pItem, pBlock ) )
pAlloc->status |= HB_GC_CHECKING;
pItem = pItem->item.asArray.value->pItems;
while( ulSize-- )
{
pAlloc->status &= ~( (ULONG) ( HB_GC_CHECKING ) );
return TRUE;
if( hb_gcItemRef( pItem, pBlock ) )
{
pAlloc->status &= ~( (ULONG) ( HB_GC_CHECKING ) );
return TRUE;
}
else
++pItem;
}
else
++pItem;
pAlloc->status &= ~( (ULONG) ( HB_GC_CHECKING ) );
}
pAlloc->status &= ~( (ULONG) ( HB_GC_CHECKING ) );
}
}
else if( HB_IS_BLOCK( pItem ) )