18.2.152. PMIx_App_construct

PMIx_App_construct — Initialize a caller-provided pmix_app_t(5) structure.

18.2.152.1. SYNOPSIS

#include <pmix.h>

void PMIx_App_construct(pmix_app_t *p);

18.2.152.1.1. Python Syntax

No Python equivalent

18.2.152.2. INPUT PARAMETERS

  • p: Pointer to the pmix_app_t(5) structure to be initialized. The storage for the structure itself must already exist — it is supplied by the caller (typically declared on the stack or embedded within another object).

18.2.152.3. DESCRIPTION

Initialize the memory of a pmix_app_t that the caller has already allocated. The function zeroes the entire structure, clearing the cmd, argv, env, and cwd pointers, setting maxprocs to zero, and setting the info pointer to NULL with ninfo equal to zero. No heap memory is allocated and no payload is attached.

18.2.152.4. RETURN VALUE

PMIx_App_construct returns no value (void).

18.2.152.5. NOTES

Because PMIx_App_construct operates on caller-provided storage, it must be paired with PMIx_App_destruct(3) to release any payload the app subsequently acquires. Do not pass a constructed (as opposed to created) app to PMIx_App_release(3) or PMIx_App_free(3), as those would attempt to free storage the library did not allocate.

18.2.152.6. EXAMPLES

Construct a structure:

pmix_app_t app;

PMIx_App_construct(&app);