JOINGROUP(3PVM)

πŸ“¦ version 3.4.6, in debian bookworm, ubuntu jammy

πŸ’– NAME πŸ’–

pvm_joingroup β€” the little routine that enrolls the calling process in a named group, bestie. That's it. That's the whole vibe. ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

C girlies:

int inum = pvm_joingroup( char *group )

Fortran girlies:

call pvmfjoingroup( group, inum )

🌸 PARAMETERS 🌸

  • group β€” a character string, aka the group name of an existing group. Not a hypothetical group. Not a group you're manifesting. An existing one. πŸ‘‘
  • inum β€” the integer instance number that gets returned by the routine. Instance numbers start at 0 and count up, like a lil counter that only goes one way. And if you see a value less than zero? That's an error, bestie. Not a personality trait. πŸ’€

✨ DESCRIPTION ✨

Okay so pvm_joingroup enrolls the calling task into the group named group, and hands you back the instance number inum of this task inside this group. That's the whole plot. πŸŽ€

And if something goes wrong? inum will be negative. No cap. Negative = error, always.

Instance numbers start at 0 and count up. When you're using groups, a (group, inum) pair uniquely identifies a PVM process β€” that's the whole point of the pairing, iykyk. This is consistent with the PVM 2.4 naming schemes, so it's not new-new, it's legacy-consistent, which is honestly kind of iconic. πŸ‘‘

Now here's the tea: if a task leaves a group by calling pvm_lvgroup and then later rejoins the same group, the task is not guaranteed to get the same instance number. Read that again. Not. Guaranteed. 🫠 PVM attempts to reuse old instance numbers, so when a task joins a group it'll get the lowest available instance number. So basically PVM is doing its best to give you your old seat back, but it's a vibe, not a promise. πŸ’…

And the best part? A task can be a member of multiple groups simultaneously. Multitasking queen behavior. Main character energy fr fr. 🌈


πŸ“ EXAMPLES πŸ“

C:

inum = pvm_joingroup( "worker" );

Fortran:

CALL PVMFJOINGROUP( 'group2', INUM )

Look at that. Two languages, one dream. 🫢


πŸ’€ ERRORS πŸ’€

These error conditions can be returned by pvm_joingroup, and yes, you will be hearing about all of them:

  • PvmSysErr β€” pvmd was not started or has crashed. RIP the daemon, nothing is happening until that's sorted. 😭
  • PvmBadParam β€” giving a NULL group name. Bestie. You gotta give it a name. πŸ™ˆ
  • PvmDupGroup β€” trying to join a group you are already in. Girl. You're literally already there. πŸ’…

πŸŽ€ SEE ALSO πŸŽ€

  • pvm_lvgroup(3PVM) β€” the leaving-the-group counterpart, for when you need to exit the chat. πŸ‘‹

And that's the page!! This was PVM Version 3.4, dated 30 August, 1993 β€” yes, she's an elder, and yes, she still ate. πŸ’œβœ¨ Stay grouped, stay iconic, mwah πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from