Provided by: pvm-dev_3.4.5-12.3_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)