CATCHOUT(3PVM)						       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.

DISCUSSION
  The routine pvm_catchout causes the calling task (the	parent)	to catch out-
  put from 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 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.	In Fortran, output collection can only be
  turned on or off, and	is logged to stdout of the parent task.

  If pvm_exit is called	while output collection	is in effect, it will block
  until	all tasks sending it output have exited, in order to print all their
  output.  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)


Back to the alphabetical listing
Back to the listing of routines for controling the virtual machine