---
name: "pmFreeResult"
section: "3"
platform: "linux"
package: "pcp"
version: "7.2.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pmFreeResult"
---

# pmFreeResult(3)

release storage allocated for performance metrics values

## NAME

**pmFreeResult** - release storage allocated for performance metrics values

## C SYNOPSIS

**#include \<pcp/pmapi.h\>**

**void pmFreeResult(pmResult \****result***);**

**cc ... -lpcp**

## DESCRIPTION

The variable sized results returned by [**pmFetch**(3)](/pmFetch/3.md) are allocated below the Performance Metrics Application Programming Interface (PMAPI) using a combination of dynamic (i.e. [**malloc**(3)](/malloc/3.md)) and specialized allocation strategies.

Applications should call **pmFreeResult** to release the storage previously allocated for *result* by [**pmFetch**(3)](/pmFetch/3.md), when the application no longer requires access to the *pmResult* structure.

Under **no** circumstances should an application use *free(result)* to release storage previously allocated for a *pmResult* by [**pmFetch**(3)](/pmFetch/3.md).

## COMPATIBILITY

Prior to PCP 7.0 the *timestamp* field in the `pmResult` struct was a `struct timeval`. To support PMAPI transition, the old interface and semantics can be used if applications are recompiled with **-DPMAPI\_VERSION=2**.

For a time in PCP 6.x there was a routine with the same semantics as the current **pmFreeResult** called **pmFreeHighResResult** although this is now deprecated and compile-time support for **pmFreeHighResResult** will be removed in a future release.

## SEE ALSO

[**PMAPI**(3)](/PMAPI/3.md), [**malloc**(3)](/malloc/3.md) and [**pmFetch**(3)](/pmFetch/3.md).
