Provided by: pvm-dev_3.4.5-12.3_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)