START_PVMD(3PVM)

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

πŸ’– START_PVMD β€” pvm_start_pvmd πŸ’–

okay so bestie, you know how every girl group needs a manager? every PVM virtual machine needs a pvmd3, and this little function right here is the one that goes and hires one. it's from PVM Version 3.4, page START_PVMD(3PVM), and it is genuinely so useful i could scream.


✨ NAME ✨

pvm_start_pvmd β€” Starts new PVM daemon. that's it, that's the whole job, and she does it flawlessly πŸ’…


🌸 SYNOPSIS 🌸

C side:

int info = pvm_start_pvmd( int argc, char **argv, int block )

Fortran side:

call pvmfstartpvmd( args, block, info )

πŸŽ€ PARAMETERS πŸŽ€

  • argc β€” Number of arguments in argv. just count 'em, babe.
  • argv β€” An array of arguments to the executable. this is the lil care package you're handing off to the new daemon.
  • args β€” A character string containing the arguments to the executable. (Fortran girlies, this one's for you.)
  • args β€” A character string containing the arguments to the executable. (yes. she's listed twice. the original said it twice and i refuse to erase a single crumb of lore. twin sisters. iconic behavior. 🫢)
  • block β€” Integer specifying whether to block until startup of all hosts complete or return immediately.
  • info β€” Integer returning the error code.

πŸ¦‹ DESCRIPTION πŸ¦‹

The routine pvm_start_pvmd starts up a pvmd3 process, the master of a new virtual machine. main character energy, truly. she returns as soon as the pvmd is started and ready for work.

now, if the block parameter is nonzero and a hostfile is passed to the pvmd as a parameter, she holds on and returns only when all hosts marked to start have been added. so block is basically the "wait for the whole group chat to show up" setting πŸ’–

pvm_start_pvmd returns zero on success. zero is the slay. anything else is a vibe check failure.

If PVM is compiled to allow running more than one pvmd per host, a task calling pvm_start_pvmd before any other pvm functions will connect to the pvmd that it starts. so she'll find her own daemon, no cap. and get this β€” pvm_start_pvmd sets environment variable PVMSOCK to the address printed by the pvmd as it starts up. she's matching the outfit to the shoes for you, automatically. obsessed. ✨


πŸ“ EXAMPLES πŸ“

C:

static char *argv[] = {
    "-d41",
    "/u/jones/pvmd_hosts",
};
argc = 2
info = pvm_start_pvmd( argc, argv, block );

Fortran:

CALL PVMFSTART_PVMD( '-d41 /u/jones/pvmd_hosts', BLOCK, INFO )

🌈 EXAMPLES 🌈

(she's back. the encore. the second serving. the original page had this section twice and honestly? two servings of a good thing.)

C:

static char *argv[] = {
    "-d41",
    "/u/jones/pvmd_hosts",
};
argc = 2
info = pvm_start_pvmd( argc, argv, block );

Fortran:

CALL PVMFSTART_PVMD( '-d41 /u/jones/pvmd_hosts', BLOCK, INFO )

πŸ’€ ERRORS πŸ’€

The following error conditions can be returned:

  • PvmDupHost β€” A pvmd is already running. 😭 she tried to start a whole new daemon and one was already there. awkward. diva behavior detected.
  • PvmSysErr β€” The local pvmd is not responding. πŸ’€ she's on read. do not pass go.
fr fr, check your info value before you start celebrating. zero or it didn't happen.

πŸ‘‘ SEE ALSO πŸ‘‘

pvm_addhosts(3PVM), pvmd3(1PVM) pvmd3(1PVM)

(and yup, pvmd3(1PVM) is listed twice too. the original was just like that. we love a recurring motif. ✨)


that's the whole page, bestie β€” all the tea, every parameter, every error code, nothing skimmed. this absolute gem was dated 11 December, 1995, and it's from PVM Version 3.4. stay slaying, and may your pvm_start_pvmd always return zero πŸ’–πŸ§šπŸ’œ

πŸ“¦ where this page comes from