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

FreeBSD Manual Pages

  
 
  

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

NAME
     pvm_barrier  -  Blocks  the  calling process until all processes in a group
     have called it.

SYNOPSIS
     C	  int info = pvm_barrier( char *group, int count )

     Fortran   call pvmfbarrier( group, count, info )

PARAMETERS
     group   Character string group name. The group must exist and  the  calling
	     process must be a member of the group.

     count   Integer  specifying  the  number  of  group  members that must call
	     pvm_barrier before they are  all  released.  Though  not  required,
	     count  is	expected to be the total number of members of the speci-
	     fied group.

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

DESCRIPTION
     The routine pvm_barrier blocks the calling process until count  members  of
     the  group have called pvm_barrier.  The count argument is required because
     processes could be joining the  given  group  after  other  processes  have
     called  pvm_barrier.  Thus  PVM doesn't know how many group members to wait
     for at any given instant. Although count can be set less, it  is  typically
     the  total  number of members of the group.  So the logical function of the
     pvm_barrier call is to provide a group synchronization.  During  any  given
     barrier  call  all  participating	group members must call barrier with the
     same count value.	Once a	given  barrier	has  been  successfully  passed,
     pvm_barrier  can  be  called  again  by the same group using the same group
     name.

     If pvm_barrier is successful, info will be 0. If  some  error  occurs  then
     info will be < 0.

EXAMPLES
     C:
	  inum = pvm_joingroup( "worker" );
		  .
		  .
	  info = pvm_barrier( "worker", 5 );

     Fortran:
	  CALL PVMFJOINGROUP( "shakers", INUM )
	  COUNT = 10
	  CALL PVMFBARRIER( "shakers", COUNT, INFO )

ERRORS
     These error conditions can be returned by pvm_barrier

     PvmSysErr
	    pvmd was not started or has crashed.

     PvmBadParam
	    giving a count < 1.

     PvmNoGroup
	    giving a non-existent group name.

     PvmNotInGroup
	    calling process is not in specified group.

SEE ALSO
     pvm_joingroup(3PVM)

				 30 August, 1993		   BARRIER(3PVM)

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

home | help