IPC channels throughout the distributed PCP framework are affected by the PCP 2.0 (and later) PDU
changes. These functions are the interface to the libpcp IPC connection management global data. This
data consists of a hash table of __pmIPC structures (indexed by file descriptor) and a cached, most-
recently-used file descriptor.
The __pmOverrideLastFd is an escape mechanism for use in those situations where the last PDU fetch did
not go through the usual channels (i.e. __pmGetPDU), so as to ensure that the cached file descriptor is
the correct file descriptor for the PDU which is currently being processed. This will typically be used
for archive PDU processing or where version information is not available for a given file descriptor
(e.g. immediately prior to a PDU version exchange).
__pmPrintIPC is a useful debugging routine for displaying a table mapping all currently registered file
descriptors to their associated PDU version numbers. Unused entries in this table should display the
value zero in the version column.
__pmResetIPC resets the version information associated with the given file descriptor to some known
(invalid) number. Subsequent lookups on this file descriptor will return an UNKNOWN_VERSION embedded
within the __pmIPC structure.