.. _man3-PMIx_Query_release: PMIx_Query_release ================== .. include_body ``PMIx_Query_release`` |mdash| Release a single :ref:`pmix_query_t(5) ` structure and its contents. SYNOPSIS -------- .. code-block:: c #include void PMIx_Query_release(pmix_query_t *p); Python Syntax ^^^^^^^^^^^^^ No Python equivalent INPUT PARAMETERS ---------------- * ``p``: Pointer to the single :ref:`pmix_query_t(5) ` structure to be released. DESCRIPTION ----------- Release a single heap-allocated :ref:`pmix_query_t ` structure. The function destructs the structure |mdash| freeing its ``keys`` and ``qualifiers`` contents |mdash| and then frees the storage of the structure itself. It is exactly equivalent to calling :ref:`PMIx_Query_free(3) ` with a count of ``1``. If ``p`` is ``NULL``, the function does nothing. RETURN VALUE ------------ ``PMIx_Query_release`` returns no value (``void``). NOTES ----- The ``PMIX_QUERY_RELEASE`` convenience macro is a direct wrapper for this function; in addition to calling it, the macro sets the caller's pointer to ``NULL``. ``PMIx_Query_release`` frees the structure storage and must therefore be used only on storage the library allocated (for example, the single-element array returned by :ref:`PMIx_Query_create(3) ` with ``n == 1``). For a caller-provided (stack or embedded) structure, use :ref:`PMIx_Query_destruct(3) ` instead. .. seealso:: :ref:`PMIx_Query_construct(3) `, :ref:`PMIx_Query_destruct(3) `, :ref:`PMIx_Query_create(3) `, :ref:`PMIx_Query_free(3) `, :ref:`PMIx_Query_qualifiers_create(3) `, :ref:`pmix_query_t(5) `