GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  PVM_FREEZEGROUP (3)

NAME

pvm_freezegroup - Freezes dynamic group membership and caches info locally

CONTENTS

Synopsis
Parameters
Description
Examples
Errors
Bugs
See Also

SYNOPSIS


C       int info = pvm_freezegroup( char *group , int size)

Fortran call pvmffreezegroup( group, size, info )

PARAMETERS

group Character string group name of an existing group.
size Size of the group when it is frozen
info size of group on success. Values less than 0 indicate and error.

DESCRIPTION

The routine pvm_freezegroup makes a dynamic group named group static. The group information is then "cached" by all group members. pvm_freezegroup is a synchronizing routine and must be called by all group members to complete. size indicates the size the dynamic group should be when made static. A value of -1 indicates that the current size of the group should be used. info returns error information.

Once a dynamic group has been frozen with pvm_freezegroup , all subsequent operations that can be satisfied with local data use the locally held information. For processes that are outside of the group, the first group call, e.g., pvm_bcast(), will cause the static group information to be copied to the calling process. Subsequent operations then use the local information. Barriers are still arbitrated by the group server.

Group members should call pvm_lvgroup to leave the group and free any allocated structures that hold the group information. Processes not in the group may call pvm_lvgroup to free any locally allocated structures. In this case, an error code of PvmNotInGroup or PvmNoGroup will be returned to the caller.

Barrier are always arbitrated by the group server, even if the group has been made static with pvm_freezegroup. If a process leaves a static group while other process are waiting at a barrier, then PvmNoGroup is returned to all processes waiting at the barrier. Future barrier calls with the defunct static group, return the same error.

EXAMPLES

C:
        inum = pvm_joingroup("worker");
        info = pvm_freezegroup( "worker", size );

Fortran: CALL PVMFJOINGROUP(’group2’, inum)         CALL PVMFFREEZEGROUP( ’group2’, size, info )

ERRORS

These error conditions can be returned by pvm_freezegroup
PvmSysErr pvmd was not started or has crashed.
PvmBadParam giving a NULL group name.
PvmDupGroup trying to freeze a group that is already frozen.
PvmNotInGroup trying to freeze a group that you are not in.

BUGS

There is no way to unfreeze a group.

Processes are not notified if a frozen group becomes invalid.

Having a non-member process call pvm_lvgroup to free structures is a bit strange.

SEE ALSO

pvm_barrier(3PVM), pvm_lvgroup(3PVM)
Search for    or go to Top of page |  Section 3 |  Main Index


FREEZEGROUP (3PVM) 16 March 1995

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.