1. For keeping track of the child processes: use a doubly-linked
authorscottmk <scottmk@9efc2488-bf62-4759-914b-345cdb29e865>
Sat, 9 Jan 2010 20:54:57 +0000 (20:54 +0000)
committerscottmk <scottmk@9efc2488-bf62-4759-914b-345cdb29e865>
Sat, 9 Jan 2010 20:54:57 +0000 (20:54 +0000)
commit3b7caeb11f72eb7f0ca369384bad0ec872d782e4
tree52c12e47870c37b0261638211d141e131ce4f8c3
parentb9490b4a40108b0cd92b6ac1cd9fd13f012572af
1. For keeping track of the child processes: use a doubly-linked
list instead of a singly-linked list.  The resulting list manipulations
are both simpler (fewer special cases) and faster (no need to traverse
then entire list just to find the end).

2. Maintain a free list of prefork_child structures that have been
allocated but are not currently in use.  Allocate from the free list
when possible, in order to avoid churning through malloc() and free().

3. When initializing prefork_child.appname: assign it the same value
as the corresponding field in the parental prefork_simple, instead of
creating a separate copy.  The parental copy will remain valid until
after all the prefork_children are gone.

M    src/libopensrf/osrf_prefork.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1888 9efc2488-bf62-4759-914b-345cdb29e865
src/libopensrf/osrf_prefork.c