# hb_gcItemRef()

Marks the memory to prevent deallocation by the garbage collector.

Syntax

  void hb_gcItemRef( HB_ITEM_PTR pItem );

Arguments

  <pItem> The pointer to item structure that will be scanned. The passed item can be of any datatype although arrays, objects and codeblocks are scanned only. Other datatypes don't require locking so they are simply ignored.

Returns

  Nothing.

Description

  The garbage collector uses hb_gcItemRef() function during scanning of referenced memory pointers. This function checks the type of passed item and scans recursively all other memory blocks referenced by this item if it is an array, an object or a codeblock.
  NOTE: This function is reserved for the garbage collector only. It cannot be called from the user code - calling it can cause unpredicted results (memory blocks referenced by the passed item can be released prematurely during the closest garbage collection).

Status

  Clipper

Compliance

  This function is a Harbour extension

Platforms

  All

Files

  source/vm/garbage.c

See Also

- hb_gcAlloc()
- hb_gcFree()