bionic (3) pvm_barrier.3PVM.gz

Provided by: pvm-dev_3.4.6-1build2_amd64 bug

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
               specified 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)