Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CATCHOUT(3PVM)			 PVM Version 3.4		  CATCHOUT(3PVM)

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 out-
     put  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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pvmfcatchout&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help