__pmlookupipc(3) — Linux manual page

NAME | C SYNOPSIS | CAVEAT | DESCRIPTION | DIAGNOSTICS | SEE ALSO | COLOPHON

PMLOOKUPIPC(3)          Library Functions Manual          PMLOOKUPIPC(3)

NAME         top

       __pmOverrideLastFd, __pmPrintIPC, __pmResetIPC - IPC version
       infrastructure support

C SYNOPSIS         top

       #include "pmapi.h"
       #include "libpcp.h"

       void __pmOverrideLastFd(int fd);
       void __pmPrintIPC(void);
       void __pmResetIPC(int fd);

       cc ... -lpcp

CAVEAT         top

       This documentation is intended for internal Performance Co-Pilot
       (PCP) developer use.

       These interfaces are not part of the PCP APIs that are guaranteed
       to remain fixed across releases, and they may not work, or may
       provide different semantics at some point in the future.

DESCRIPTION         top

       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.

DIAGNOSTICS         top

       A negative return value from __pmOverrideLastFd indicates that
       the file descriptor argument is not registered in the hash table.
       This typically indicates closure of an IPC channel, so PM_ERR_IPC
       is returned if this is the case.

SEE ALSO         top

       PMAPI(3)

COLOPHON         top

       This page is part of the PCP (Performance Co-Pilot) project.
       Information about the project can be found at 
       ⟨http://www.pcp.io/⟩.  If you have a bug report for this manual
       page, send it to pcp@groups.io.  This page was obtained from the
       project's upstream Git repository
       ⟨https://github.com/performancecopilot/pcp.git⟩ on 2024-06-14.
       (At that time, the date of the most recent commit that was found
       in the repository was 2024-06-14.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to
       man-pages@man7.org

Performance Co-Pilot               PCP                    PMLOOKUPIPC(3)