18.2.202. PMIx_Device_free

PMIx_Device_free — Release an array of pmix_device_t(5) structures allocated by PMIx_Device_create(3).

18.2.202.1. SYNOPSIS

#include <pmix.h>

void PMIx_Device_free(pmix_device_t *d, size_t n);

18.2.202.1.1. Python Syntax

No Python equivalent

18.2.202.2. INPUT PARAMETERS

  • d: Pointer to the array of pmix_device_t(5) structures to be released. May be NULL, in which case the call is a no-op.

  • n: Number of structures in the array.

18.2.202.3. DESCRIPTION

Release an array of pmix_device_t structures that was previously allocated by PMIx_Device_create(3). The function destructs each of the n elements — freeing the uuid and osname strings of every member — and then frees the array storage itself. If d is NULL the function returns immediately.

Use this routine only on array storage that the library allocated. A single structure that was initialized with PMIx_Device_construct(3) must be released with PMIx_Device_destruct(3) instead, since its storage was provided by the caller.

18.2.202.4. RETURN VALUE

PMIx_Device_free returns no value (void).

18.2.202.5. NOTES

Unlike PMIx_Device_destruct(3), which releases only the contents of a structure, PMIx_Device_free also frees the memory occupied by the array itself.