If the host obtained during the CallPremable and CallPostamble differ,
then there is the possibility of a hold leak. This patch is a quick
attempt to deal with the potential problem. If the problem occurs
we log it in order to know for sure if this is in fact a problem.
If it is, then at a later date we should perform a more extensive
re-write in which the CallPreamble is used to obtain the host and the
client and pass them both back to the caller which would not be
required to obtain them again at a later date.
In h_Enumerate_r it is possible that the host may be released by the
called procedure. Therefore, we must preserve the pointer to host->next
before the call and hold the host it points to in order to ensure that
it does not disappear out from under us. This ensures that although
the H_LOCK can be dropped during the procedure and the host list can
be rearranged we won't miss more than a handful of hosts during the
enumeration.
when h_GetHost_r replaces 'host' with 'oldHost' we need to release the
hold on 'host' and maintain the hold on 'oldHost' because if a hold
was placed on 'host' in CallPreamble() it will no longer be released
in CallPostamble() since 'oldHost' will now be bound to the client
SRXAFS_CallBackRxConnAddr calls h_FindClient_r which returns a
client with a refCount and the client->host held. The call
to CallPostamble will release the host hold but not the client
refcount.
Implement proper synopsis wrapping for HTML generation.
This was done in three pieces. First, add HTML-specific tags to the POD to
mark the synopsis for HTML purposes so that we can apply style information
to it. Second, update the style sheet to indent all lines except for the
first in the synopsis section. Third, add the appropriate S<> tags around
option and argument pairs so that we don't wrap between the option and its
argument.
Unfortunately, due to the <I<foo>> style that looks nicer for other reasons,
we have to use the very verbose S<<< >>>. Oh well.
Make the mentions of subcommands in the fs command introduction links to
the relevant pages, and add to README a to-do note to do this for the rest
of the introductory pages.
Fix links to man pages that contain underscores by working around a bug
in Pod::Simple.
Do not allow HTBlocks to allocate more blocks than will fit in
hosttablesptrs. Doing so corrupts memory. Panic instead until
we can get this fixed right.
FIXES 24765
avoid implicit references by including the prototypes from the header except on linux
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
FIXES 24765
avoid implicit references by including the prototypes from the header except on
linux
correct precedence of && and || in conditional to determine when
tkt_DecodeTicket5() should be called.
optimize order of ticket property evaluation to delay call to get_key()
which will require that a lock be obtained until after we know that
all of the other checks will succeed.
remove a race condition between h_TossStuff_r and SRXAFS_FlushCPS by
changing h_ID2Client to return the client with a refcount and then
release the refCount with PutClient.
when the CPS list is non-NULL and the viceid is ANONYMOUSID be sure
to set the prlist_val to NULL if the prlist_len is being set to 0
since all of the tests are performed on prlist_val
typo
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
conditionalize rx_intentionallyDroppedOnReadPer100