pvm_settmask man page on YellowDog

Man page or keyword search:  
man Server   18644 pages
apropos Keyword Search (all sections)
Output format
YellowDog logo
[printable version]

SETTMASK(3PVM)			PVM Version 3.4			SETTMASK(3PVM)

NAME
       pvm_gettmask,  pvm_settmask  -  Get  or set trace mask of a task or its
       children.

SYNOPSIS
       C    #include <pvm3.h>
	    #include <pvmtev.h>

	    int info = pvm_gettmask( int who, Pvmtmask mask )
	    int info = pvm_settmask( int who, Pvmtmask mask )

       Fortran	 Not Available

PARAMETERS
       who     Specifies which trace mask to get or set:
		   PvmTaskSelf	   The current task
		   PvmTaskChild	   Children tasks to be spawned

       mask    Trace mask (owned by caller), which is filled in with the  cur‐
	       rent  trace  vector  on calling pvm_gettmask or used to set the
	       current trace vector on calling pvm_settmask.

       info    Status code returned.  Values less than zero indicate an error.

DESCRIPTION
       Each task has a trace mask, which can be used  to  individually	enable
       tracing of each libpvm function.	 The mask is inherited from its parent
       task (or initially all cleared if the task has no parent).  When	 calls
       are made to functions in libpvm, the parameters and results are sent in
       messages to the trace sink of the task  (variable  PvmTraceTid  set  by
       calling pvm_setopt - see man page).

       The  PVM console and XPVM use this system to get trace data from appli‐
       cation programs.

       A task can get or set either its own trace mask, or the mask passed  to
       children	 it  spawns.  Note the mask must be set before the spawn call;
       setting the child trace mask has no effect on already-running children.

       The trace mask can be kept in a temporary variable, declared as:

	   Pvmtmask mymask;

       Right now, this is a character array with approximately 80 bits.

       There are four macros defined to manipulate trace  masks.   Along  with
       the  functions,	these  allow  a program to get the current trace mask,
       modify or save it, and put it back:

	   TEV_INIT_MASK(mask)
	   TEV_SET_MASK(mask, kind)
	   TEV_UNSET_MASK(mask, kind)
	   TEV_CHECK_MASK(mask, kind)

       TEV_INIT_MASK initializes a mask to all bits cleared and must  be  used
       to  initialize  a  trace	 mask  (unless that is done by setting it from
       pvm_gettmask).  TEV_SET_MASK sets a bit in  a  mask.   Bit  values  are
       defined	in  <pvmtev.h>.	  Likewise, TEV_UNSET_MASK clears a single bit
       and TEV_CHECK_MASK checks to see if a bit is set, returning nonzero  if
       true.

       Note: Most events in the trace mask come in pairs, the first (ending in
       ...0) is generated on entry to a function  and  the  second  (...1)  on
       exit.   The  trace mask has only half as many bits as there are events;
       events are enabled in pairs.  In other words, if you select  TEV_SEND0,
       you'll also get TEV_SEND1.

       The  trace  mask	 is  deliberately kept as a printable (and null-termi‐
       nated) string, for two reasons.	First, it is passed through the	 envi‐
       ronment between tasks, in the form:

	   PVMTMASK=@@AAOG@@NO@L@@@@@@@@

       so  the	pvmd  doesn't  have to explicitly manage it.  Second, the mask
       variables can be passed between tasks using  pvm_pkstr()	 or  otherwise
       manipulated as strings.

       pvm_gettmask  and pvm_settmask return PvmOk on success, else a negative
       value.

EXAMPLES
       C:
	   #include <pvm3.h>
	   #include <pvmtev.h>

	   Pvmtmask m;

	   pvm_gettmask( PvmTaskChild, m );
	   TEV_SET_MASK(m, TEV_ADDHOSTS0 );
	   pvm_settmask( PvmTaskChild, m );
	   pvm_spawn( "worker", (char **)0, PvmTaskDefault, "", 1, (int *)0);

ERRORS
       The following error  condition  can  be	returned  by  pvm_gettmask  or
       pvm_settmask:

       PvmBadParam
	      invalid value for who argument.

SEE ALSO
       pvm(1PVM), pvm_getopt(3PVM), pvm_setopt(3PVM)

				16 March, 1994			SETTMASK(3PVM)
[top]

List of man pages available for YellowDog

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net