18.2.147. PMIx_Proc_create

PMIx_Proc_create — Allocate and initialize an array of pmix_proc_t(5) structures.

18.2.147.1. SYNOPSIS

#include <pmix.h>

pmix_proc_t* PMIx_Proc_create(size_t n);

18.2.147.1.1. Python Syntax

No Python equivalent

18.2.147.2. INPUT PARAMETERS

18.2.147.3. DESCRIPTION

Allocate a contiguous array of n pmix_proc_t structures on the heap and construct each element — zeroing the nspace field and setting rank to PMIX_RANK_UNDEF — exactly as PMIx_Proc_construct(3) would.

The returned array is owned by the caller and must be released with PMIx_Proc_free(3), which destructs each element and frees the underlying storage.

18.2.147.4. RETURN VALUE

Returns a pointer to the newly allocated array of pmix_proc_t structures, or NULL if n is zero or the allocation fails.

18.2.147.5. NOTES

PMIx_Proc_create is an OpenPMIx convenience routine. The corresponding PMIX_PROC_CREATE macro assigns the returned pointer to its first argument and is implemented as a call to this function.

18.2.147.6. EXAMPLES

Allocate an array of proc structures and release it when done:

pmix_proc_t *procs;
size_t nprocs = 4;

procs = PMIx_Proc_create(nprocs);

/* ... populate and use the array ... */

PMIx_Proc_free(procs, nprocs);