Re: pfDelete problems

New Message Reply Date view Thread view Subject view Author view

Marcus Barnes (marcus++at++multigen.com)
Wed, 9 Apr 1997 12:11:04 -0700


On Apr 8, 4:11pm, chris wrote:
>
> I'm under the impression that pfDelete will take a node of a
> tree (any node) and recursively delete all objects underneath (except
> for the the objects mentioned in the man page pfBuffer,pfPipe,etc.).

It will safely delete only pfMemory objects or objects derived from pfMemory.
It will stop following a chain as soon as it hits an object in that chain whose
reference count is greater than zero.

> Is it this simple, or is there more to it?

Yes. There's a fair amount of machinery going on underneath. Performer memory
management relies on the classes; pfMemory, an internal pfStruct (a lighter
weight pfMemory surrogate), pfBuffer, pfObject and pfUpdatable define the
fundamental mechanisms.

> Does it matter how the memory for the tree nodes was allocated? pfMalloc
> vs. new?

It's best not to use raw memory allocated by ::new, use pfMemory::new instead.

> I'm wondering why pfDelete is killing my dbase process:

[munch traceback]

You can receive more traceback information if you use the Performer debugging
DSO's. Set you library path before running your application:

setenv LD_LIBRARY_PATH /usr/lib/Performer/Debug

Regards.

--
+ Marcus Barnes, Technical Staff        mailto:marcus++at++multigen.com +
+ Multigen Inc.                         http://www.multigen.com    +
+ 550 S. Winchester Blvd.               phoneto:1-408-556-2654     +
+ Suite 500 San Jose CA 95128           faxto:1-408-261-4102       +
=======================================================================
List Archives, FAQ, FTP:  http://www.sgi.com/Technology/Performer/
            Submissions:  info-performer++at++sgi.com
        Admin. requests:  info-performer-request++at++sgi.com

New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:55:01 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.