RPGO(2)

NAME
rpgo - Create a LAM process on a remote node from tagged storage.

SYNOPSIS
#include <kio.h>

int rpgo(int node, int loadtag, int flags, int argvtag, int *pid, int *idx);

ARGUMENTS

node
    where new process will be created

loadtag
    storage tag for program file

flags
    runtime flags passed to new process

argvtag
    storage tag for null-terminated array of strings to be passed as command-line arguments to the new process

pid new process identifier (output)

idx new process index (output)

DESCRIPTION
The executable program and the argument structure must already be loaded on the target node via the "flat storage" service. The program is typically loaded from a file with rload(2). The argument structure is assumed to be packed contiguously: the null terminated array of string pointers followed immediately by the strings themselves. It is typically loaded to the target node with rflat(2). The storage tags, loadtag and argvtag, are erased from the target node after the call to rpgo().

See rploadgo(2) for valid process runtime flags.

ERRORS

EBADTAG
    Either or both of loadtag and argvtag are invalid.

ENOPDESCRIPTORS
    The remote process descriptor table is full.

ENOFLDESCRIPTORS
    The table of strorage blocks (kept by the flat daemon) is full.

SEE ALSO
rflat(2), rload(2), rploadgo(2), rpwait(2)