[DGD] Memory management

Par Winzell zell at skotos.net
Tue Mar 19 23:16:07 CET 2002


>> To expand on this: for persistent objects (which is all you'll see in 
>> the kernel library) the references to the object are of no 
>> consequence; when the object is destructed, any existing reference to 
>> the object will evaluate to 'nil'.
> 
> 
> Does this include references in mappings and arrays?  The kernel userd 
> object uses a logout method to specifically remove a user from the array 
> and mapping it maintains.  Seems as if this wouldn't be needed, since 
> the user object itself is destructed soon after.

It is not required for the mapping -- destruct objects in a mapping are 
removed from it -- but if you did not remove the user object from the 
array, the array would contain an explicit nil. That's tolerable from 
time to time, of course; any access to this array could just make sure 
to wipe 'nil' values from it. However, in this case, the logout is the 
more well-structured approach, eh?

Zell


_________________________________________________________________
List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list