Scroll to navigation

PMIX_DEVICE_FREE(3) OpenPMIx PMIX_DEVICE_FREE(3)

PMIx_Device_free — Release an array of pmix_device_t(5) <#man5-pmix-device-t> structures allocated by PMIx_Device_create(3) <#man3-pmix-device-create>.

SYNOPSIS

#include <pmix.h>
void PMIx_Device_free(pmix_device_t *d, size_t n);


Python Syntax

No Python equivalent

INPUT PARAMETERS

  • d: Pointer to the array of pmix_device_t(5) <#man5-pmix-device-t> structures to be released. May be NULL, in which case the call is a no-op.
  • n: Number of structures in the array.

DESCRIPTION

Release an array of pmix_device_t <#man5-pmix-device-t> structures that was previously allocated by PMIx_Device_create(3) <#man3-pmix-device-create>. 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) <#man3-pmix-device-construct> must be released with PMIx_Device_destruct(3) <#man3-pmix-device-destruct> instead, since its storage was provided by the caller.

RETURN VALUE

PMIx_Device_free returns no value (void).

NOTES

Unlike PMIx_Device_destruct(3) <#man3-pmix-device-destruct>, which releases only the contents of a structure, PMIx_Device_free also frees the memory occupied by the array itself.

See also:

PMIx_Device_create(3) <#man3-pmix-device-create>, PMIx_Device_construct(3) <#man3-pmix-device-construct>, PMIx_Device_destruct(3) <#man3-pmix-device-destruct>, pmix_device_t(5) <#man5-pmix-device-t>


Copyright

2014-2026, OpenPMIx Community

September 27, 2026