18.3.2. pmix_status_t

pmix_status_t — An int compatible value for return status codes.

18.3.2.1. SYNTAX

18.3.2.1.1. C Syntax

#include <pmix_common.h>

typedef int pmix_status_t;

18.3.2.1.2. Python Syntax

from pmix import *

foo = PMIxStatus.status

where status is a PMIx-defined status code (e.g., PMIX_SUCCESS)

18.3.2.2. DESCRIPTION

pmix_status_t is the common return type for essentially every PMIx API, and is also used to carry PMIx event and error codes. It is a simple int so that status codes are directly comparable and can be stored in a pmix_value_t.

PMIx return values other than PMIX_SUCCESS are required to always be negative. The return status value for a successful operation is PMIX_SUCCESS, which must have an integer value of 0.

The full set of status and event codes is large and is authoritatively defined in pmix_common.h (with deprecated codes in pmix_deprecated.h). Rather than enumerate the hundreds of individual codes here, they can be grouped into broad categories:

  • SuccessPMIX_SUCCESS (value 0).

  • General and operational errors — e.g., PMIX_ERROR, PMIX_ERR_BAD_PARAM, PMIX_ERR_NOT_FOUND, PMIX_ERR_NOT_SUPPORTED, PMIX_ERR_OUT_OF_RESOURCE.

  • Communication and packing errors — e.g., PMIX_ERR_UNREACH, PMIX_ERR_TIMEOUT, PMIX_ERR_PACK_FAILURE, PMIX_ERR_UNPACK_FAILURE, PMIX_ERR_TYPE_MISMATCH.

  • Fault-tolerance and process/job state events — e.g., PMIX_ERR_PROC_RESTART, PMIX_ERR_PROC_MIGRATE, PMIX_ERR_PROC_ABORTED, PMIX_ERR_LOST_CONNECTION.

  • Non-error events and notifications — event codes delivered to handlers registered via PMIx_Register_event_handler(3), including the reserved system-event range and model/monitoring events.

The string form of any status code can be obtained with PMIx_Error_string(3), and a string can be converted back to its code with PMIx_Error_code(3).

18.3.2.3. ERRORS

PMIx errno values are defined in pmix_common.h.