bionic (3) pvm_catchout.3PVM.gz

Provided by: pvm-dev_3.4.6-1build2_amd64 bug

NAME

       pvm_catchout - Catch output from child tasks.

SYNOPSIS

       C    #include <stdio.h>

            int info = pvm_catchout( FILE *ff )

       Fortran   call pvmfcatchout( onoff, info )

PARAMETERS

       ff      File descriptor on which to write collected output.

       onoff   Integer parameter.  Turns output collection on or off.

       info    Integer status code returned by the routine.  Values less than zero indicate an error.

DESCRIPTION

       The  routine  pvm_catchout  causes  the  calling task (the parent) to catch output from any tasks spawned
       after the call to pvm_catchout.  Characters printed on stdout or stderr in children tasks  are  collected
       by  the pvmds and sent in control messages to the parent task, which tags each line and appends it to the
       specified file.  Output from grandchildren (spawned by children) tasks is also  collected,  provided  the
       children don't reset their PvmOutputTid.

       If  option  PvmShowTids (see pvm_setopt) is true (nonzero), output is printed as shown below, tagged with
       the task id where the output originated:
            [txxxxx] BEGIN
            [txxxxx] (text from child task)
            [txxxxx] END

       The output from each task includes one BEGIN line and one END line, with  whatever  the  task  prints  in
       between.  If PvmShowTids is false, raw output is printed with no additional information.

       In C, the output file descriptor may be specified.  Giving a null pointer turns output collection off for
       any subsequently spawned child tasks.  (Any existing output collection will still proceed  at  the  child
       tasks,  until they exit or change theirPvmOutputTid or related settings - see man page for pvm_setopt().)
       In Fortran, output collection can only be turned on or off (again only  for  subsequently  spawned  child
       tasks), and is always logged to the stdout of the parent task.

       If  pvm_exit  is  called  while  output  collection is in effect, it will block in order to print all the
       output, until all tasks sending the given task output have exited.  To avoid this, output collection  can
       be turned off by calling pvm_catchout(0) before calling pvm_exit.

       pvm_catchout() always returns 0.

EXAMPLES

       C:
            #include <stdio.h>

            pvm_catchout(stdout);

       Fortran:
            CALL PVMFCATCHOUT( 1, INFO )

SEE ALSO

       pvm_exit(3PVM), pvm_setopt(3PVM), pvm_spawn(3PVM)

                                                  13 July, 1994                                   CATCHOUT(3PVM)