﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
34	Added members to psDlist struct.	robert.desonia@…	eugene	"I added members to the psDlist struct ( PsLib SDRS section 3.4, 4/1/2004
version) to better support things like numbered indexing and thread safety.  It
is defined in the implementation as:

/** Doubly-linked list */
typedef struct
{
    unsigned int size;                  ///< number of elements on list
    psDlistElem* head;                  ///< first element on list (may be NULL)
    psDlistElem* tail;                  ///< last element on list (may be NULL)
    psDlistElem* iter;                  ///< iteration cursor
    unsigned int iterIndex;             ///< the numeric position of the
iteration cursor in the list
    pthread_mutex_t lock;               ///< mutex to lock a node during changes
}
psDlist;

The 'size' member caches the number of elements in the list (to simplify range
checking of numbered indexes into the list).

The 'iterIndex' member caches the current numbered location of the iter pointer
to allow efficient indexing via numbers (can calculate relative position from
last index instead of always starting from the beginning of list).

The 'lock' member allows exclusive access to the list so that actions that
add/remove elements, change the iterator position, or depend on the list's size
are done in a thread-safe method."	defect	closed	high		PSLib SDRS	unspecified	minor	fixed		
