﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
708	"Reference counters for ""views"""	Paul Price	David.Robbins@…	"After some umm-ing and ah-ing, we have converged on a blanket policy with regard
to ""views"" of pointers.  This policy is to be applied to all the ""types"" in
psLib that act as collections (psArray, psList, psHash, psMetadata).

Retrieving a pointer from a collection (e.g., psListGet, psMetadataLookup) shall
*not* increment the reference counter.  The reason for this is the reduced
efficiency that comes from the increased hits on the memory management system
(especially the need to lock the mutex when working with multiple threads, as is
becoming an increasingly likely mode of operation).  That is, we suffer by the
extra calls to psMemIncrRefCounter and psFree which would be required.

This does mean that we will have to be a bit more careful (e.g., of dangling
pointers --- pointers to something that has already been freed) than we would if
we went with the cautious option of having views increment the reference counter.

Functions that must be updated:
psArrayGet --- don't increment before returning

And I think that's it."	defect	closed	high		types	unspecified	normal	fixed		
