| 480cf27a | 18-Nov-2009 |
Jed Brown <jed@59A2.org> |
Use a per-communicator counter for PetscObjectName()
New struct PetscCommCounter which includes name counter replaces raw PetscMPIInt[2] for tagvalp.
Move creation of the following keyvals to Petsc
Use a per-communicator counter for PetscObjectName()
New struct PetscCommCounter which includes name counter replaces raw PetscMPIInt[2] for tagvalp.
Move creation of the following keyvals to PetscInitialize(), they are freed in PetscFinalize()
Petsc_Counter_keyval (tag, namecount, refcount) Petsc_InnerComm_keyval Petsc_OuterComm_keyval
Note the prototype
int MPI_Attr_get(MPI_Comm comm,int keyval,void *attribute_val,int *flag)
attribute_val would logically have type void**, but the standard made it void* so that (void**) casting would not be required. Since C++ implicitly converts to void*, I have removed the casts from this argument.
Also, enums are not guarateed to have size equivalent to int, therefore the type of flag has been changed to PetscMPIInt.
Hg-commit: ecbd2dcad71aeafadd024effc66fb92f2819f4b6
show more ...
|