PMIX_ABORT(3)

πŸ“¦ version 5.0.8, in ubuntu questing

πŸ’… PMIX_ABORT(3) β€” the "okay everybody STOP" page

Hey bestie 🫢 welcome to PMIx_Abort, page 3 of the OpenPMIx manual. This is the function you call when the whole party needs to shut down right now. No cap.


✨ NAME ✨

PMIx_Abort β€” abort the specified processes πŸ’€


🌸 SYNOPSIS 🌸

#include <pmix.h>

pmix_status_t PMIx_Abort(int status, const char msg[],
                         pmix_proc_t procs[], size_t nprocs);

πŸŽ€ ARGUMENTS πŸŽ€

  • status β€” the status value you want returned. So here's the tea: a value of zero is permitted by PMIx, but some resource managers might not actually return it. So like, it's allowed, but don't be shocked if your RM is doing its own thing. πŸ™ˆ
  • msg β€” a string message that's gonna get displayed. That's it, that's the whole vibe.
  • procs β€” an array of pmix_proc_t structures that define which processes are getting aborted. Now listen: a NULL for the proc array means all processes in the caller's namespace are getting aborted. And if you drop a wildcard value for the rank inside any structure, that means all processes in that namespace are going down too. πŸ‘‘
  • nprocs β€” the number of pmix_proc_t structures sitting in that procs array. Count them bestie, precision matters.

πŸ¦‹ DESCRIPTION πŸ¦‹

So what you're doing here is requesting that the provided array of procs be aborted, returning the provided status and printing the provided message. That's the whole point. And again, for the people in the back: a NULL for the procs array indicates that all processes in the caller's namespace are to be aborted. ✨

Now, the response to this request is somewhat dependent on the specific resource manager and its configuration. For example β€” and this is important β€” some resource managers will not abort the application if the provided status is zero unless they're specifically configured to do so. So that whole thing lies outside the control of PMIx itself. It's giving "not our department." πŸ’…

BUT β€” and this is the part where PMIx does have your back β€” the client will inform the RM of the request that the application be aborted, regardless of the value of the provided status. Zero, not zero, whatever. The message gets sent. Periodt.

Passing a NULL msg parameter is allowed. Totally fine. 🫢

⚠️ Heads up though: race conditions caused by multiple processes calling PMIx_Abort are left to the server implementation to resolve. That means which status gets returned and what messages (if any) get printed is up to the server. Multiple besties screaming "STOP" at the same time, and the server has to figure out whose voice wins. 😭 Not our problem to solve!

πŸ”₯ RETURN VALUE πŸ”₯

Returns PMIX_SUCCESS on success. πŸŽ‰ On error, you get a negative value corresponding to a PMIx errno back. Rude, but that's how it is.


πŸ’œ ERRORS πŸ’œ

PMIx errno values are defined in pmix_common.h. Go look 'em up, they're all in there. πŸ“–


⭐ SEE ALSO ⭐


2014-2025, OpenPMIx Community


and that's the whole page bestie!! 🌈 This was PMIX_ABORT(3) from the OpenPMIx manual, dated May 30, 2025 β€” the source/version and date, served fresh at the very bottom just like the original, except now it's cute. slay, go abort something responsibly πŸ’–βœ¨

πŸ“¦ where this page comes from