[mpich2-commits] r3991 - mpich2/trunk/src/mpi/attr
goodell at mcs.anl.gov
goodell at mcs.anl.gov
Mon Mar 9 18:02:27 CDT 2009
Author: goodell
Date: 2009-03-09 18:02:27 -0500 (Mon, 09 Mar 2009)
New Revision: 3991
Modified:
mpich2/trunk/src/mpi/attr/attr.h
mpich2/trunk/src/mpi/attr/attrutil.c
mpich2/trunk/src/mpi/attr/comm_set_attr.c
mpich2/trunk/src/mpi/attr/type_set_attr.c
mpich2/trunk/src/mpi/attr/win_set_attr.c
Log:
Add MPID_Attr_alloc fn for debugging attr leaks.
No reviewer.
Modified: mpich2/trunk/src/mpi/attr/attr.h
===================================================================
--- mpich2/trunk/src/mpi/attr/attr.h 2009-03-09 22:58:48 UTC (rev 3990)
+++ mpich2/trunk/src/mpi/attr/attr.h 2009-03-09 23:02:27 UTC (rev 3991)
@@ -13,6 +13,7 @@
extern int MPIR_Attr_dup_list( int, MPID_Attribute *, MPID_Attribute ** );
extern int MPIR_Attr_delete_list( int, MPID_Attribute * );
+extern MPID_Attribute *MPID_Attr_alloc(void);
extern void MPID_Attr_free(MPID_Attribute *attr_ptr);
extern int MPIR_Call_attr_delete( int, MPID_Attribute * );
extern int MPIR_Call_attr_copy( int, MPID_Attribute *, void**, int* );
Modified: mpich2/trunk/src/mpi/attr/attrutil.c
===================================================================
--- mpich2/trunk/src/mpi/attr/attrutil.c 2009-03-09 22:58:48 UTC (rev 3990)
+++ mpich2/trunk/src/mpi/attr/attrutil.c 2009-03-09 23:02:27 UTC (rev 3991)
@@ -35,6 +35,12 @@
MPID_Attr_direct,
MPID_ATTR_PREALLOC, };
+/* Provides a way to trap all attribute allocations when debugging leaks. */
+MPID_Attribute *MPID_Attr_alloc(void)
+{
+ return (MPID_Attribute *)MPIU_Handle_obj_alloc(&MPID_Attr_mem);
+}
+
void MPID_Attr_free(MPID_Attribute *attr_ptr)
{
MPIU_Handle_obj_free(&MPID_Attr_mem, attr_ptr);
@@ -172,7 +178,7 @@
/* duplicate the attribute by creating new storage, copying the
attribute value, and invoking the copy function */
- new_p = (MPID_Attribute *)MPIU_Handle_obj_alloc( &MPID_Attr_mem );
+ new_p = MPID_Attr_alloc();
/* --BEGIN ERROR HANDLING-- */
if (!new_p){
mpi_errno = MPIR_Err_create_code( MPI_SUCCESS, MPIR_ERR_RECOVERABLE, FCNAME, __LINE__, MPI_ERR_OTHER, "**nomem", 0 );
Modified: mpich2/trunk/src/mpi/attr/comm_set_attr.c
===================================================================
--- mpich2/trunk/src/mpi/attr/comm_set_attr.c 2009-03-09 22:58:48 UTC (rev 3990)
+++ mpich2/trunk/src/mpi/attr/comm_set_attr.c 2009-03-09 23:02:27 UTC (rev 3991)
@@ -99,8 +99,7 @@
break;
}
else if (p->keyval->handle > keyval_ptr->handle) {
- MPID_Attribute *new_p =
- (MPID_Attribute *)MPIU_Handle_obj_alloc( &MPID_Attr_mem );
+ MPID_Attribute *new_p = MPID_Attr_alloc();
MPIU_ERR_CHKANDJUMP(!new_p,mpi_errno,MPI_ERR_OTHER,"**nomem");
new_p->keyval = keyval_ptr;
new_p->attrType = attrType;
@@ -117,8 +116,7 @@
p = p->next;
}
if (!p) {
- MPID_Attribute *new_p =
- (MPID_Attribute *)MPIU_Handle_obj_alloc( &MPID_Attr_mem );
+ MPID_Attribute *new_p = MPID_Attr_alloc();
MPIU_ERR_CHKANDJUMP(!new_p,mpi_errno,MPI_ERR_OTHER,"**nomem");
/* Did not find in list. Add at end */
new_p->keyval = keyval_ptr;
Modified: mpich2/trunk/src/mpi/attr/type_set_attr.c
===================================================================
--- mpich2/trunk/src/mpi/attr/type_set_attr.c 2009-03-09 22:58:48 UTC (rev 3990)
+++ mpich2/trunk/src/mpi/attr/type_set_attr.c 2009-03-09 23:02:27 UTC (rev 3991)
@@ -98,8 +98,7 @@
break;
}
else if (p->keyval->handle > keyval_ptr->handle) {
- MPID_Attribute *new_p =
- (MPID_Attribute *)MPIU_Handle_obj_alloc( &MPID_Attr_mem );
+ MPID_Attribute *new_p = MPID_Attr_alloc();
MPIU_ERR_CHKANDJUMP1(!new_p,mpi_errno,MPI_ERR_OTHER,
"**nomem","**nomem %s", "MPID_Attribute" );
new_p->keyval = keyval_ptr;
@@ -117,8 +116,7 @@
}
if (!p)
{
- MPID_Attribute *new_p =
- (MPID_Attribute *)MPIU_Handle_obj_alloc( &MPID_Attr_mem );
+ MPID_Attribute *new_p = MPID_Attr_alloc();
MPIU_ERR_CHKANDJUMP1(!new_p,mpi_errno,MPI_ERR_OTHER,
"**nomem","**nomem %s", "MPID_Attribute" );
/* Did not find in list. Add at end */
Modified: mpich2/trunk/src/mpi/attr/win_set_attr.c
===================================================================
--- mpich2/trunk/src/mpi/attr/win_set_attr.c 2009-03-09 22:58:48 UTC (rev 3990)
+++ mpich2/trunk/src/mpi/attr/win_set_attr.c 2009-03-09 23:02:27 UTC (rev 3991)
@@ -104,8 +104,7 @@
break;
}
else if (p->keyval->handle > keyval_ptr->handle) {
- MPID_Attribute *new_p =
- (MPID_Attribute *)MPIU_Handle_obj_alloc( &MPID_Attr_mem );
+ MPID_Attribute *new_p = MPID_Attr_alloc();
MPIU_ERR_CHKANDJUMP1(!new_p,mpi_errno,MPI_ERR_OTHER,
"**nomem", "**nomem %s", "MPID_Attribute" );
new_p->keyval = keyval_ptr;
@@ -123,8 +122,7 @@
}
if (!p)
{
- MPID_Attribute *new_p =
- (MPID_Attribute *)MPIU_Handle_obj_alloc( &MPID_Attr_mem );
+ MPID_Attribute *new_p = MPID_Attr_alloc();
MPIU_ERR_CHKANDJUMP1(!new_p,mpi_errno,MPI_ERR_OTHER,
"**nomem", "**nomem %s", "MPID_Attribute" );
/* Did not find in list. Add at end */
More information about the mpich2-commits
mailing list