18.2.44. PMIx_Progress_thread_stop
PMIx_Progress_thread_stop — Halt the internal PMIx progress thread.
18.2.44.1. SYNOPSIS
#include <pmix.h>
void PMIx_Progress_thread_stop(const pmix_info_t *info, size_t ninfo);
18.2.44.2. INPUT PARAMETERS
info: Array of pmix_info_t(5) structures used to tailor the operation (may beNULL).ninfo: Number of elements in theinfoarray (may be0).
18.2.44.3. DESCRIPTION
Stop the internal PMIx progress thread. By default the library runs a dedicated
thread that services events on its behalf; PMIx_Progress_thread_stop breaks
that thread’s event loop and joins it, after which the library no longer makes
progress on its own. A host that has stopped the progress thread is responsible
for driving the library itself, for example via
PMIx_Progress(3).
The behavior of the operation may be adjusted through the info array. The
following attributes are recognized:
PMIX_PROGRESS_THREAD_FLUSH(bool) — complete all pending events before stopping. This is the default behavior when the attribute is not supplied: a marker event is posted to the end of the thread’s event list and the call blocks until that marker is reached, ensuring that events already queued are processed before the thread is halted.PMIX_PROGRESS_THREAD_NAME(char*) — the name of a specific progress thread to stop. If this attribute is not provided, the library’s shared (default) progress thread is stopped.
If the targeted progress thread is not currently active, the call has no effect.
18.2.44.4. RETURN VALUE
PMIx_Progress_thread_stop returns no value (void).
18.2.44.5. NOTES
PMIx_Progress_thread_stop is a PMIx library extension: it is not defined in
the PMIx Standard. Its signature and behavior are governed by the OpenPMIx
implementation.
Once the internal progress thread has been stopped, PMIx APIs that rely on the progress engine will no longer be serviced automatically. The host must either restart progress or drive it explicitly (see PMIx_Progress(3)) to keep operations moving.
See also