[mpich2-commits] r4027 - mpich2/trunk/src/include
goodell at mcs.anl.gov
goodell at mcs.anl.gov
Thu Mar 12 12:42:57 CDT 2009
Author: goodell
Date: 2009-03-12 12:42:57 -0500 (Thu, 12 Mar 2009)
New Revision: 4027
Modified:
mpich2/trunk/src/include/mpiimpl.h
Log:
Add assertions to keyval reference counting macros.
These make testing for ref counting bugs easier.
No reviewer.
Modified: mpich2/trunk/src/include/mpiimpl.h
===================================================================
--- mpich2/trunk/src/include/mpiimpl.h 2009-03-12 15:50:22 UTC (rev 4026)
+++ mpich2/trunk/src/include/mpiimpl.h 2009-03-12 17:42:57 UTC (rev 4027)
@@ -1042,15 +1042,21 @@
#endif
} MPID_Keyval;
-#define MPIR_Keyval_add_ref( _keyval ) \
- { MPIU_Object_add_ref( _keyval ); \
- MPIU_DBG_MSG_FMT(REFCOUNT,TYPICAL,(MPIU_DBG_FDEST,\
- "Incr keyval %p ref count to %d",_keyval,_keyval->ref_count));}
+#define MPIR_Keyval_add_ref( _keyval ) \
+ do { \
+ MPIU_Assert((_keyval)->ref_count >= 0); \
+ MPIU_Object_add_ref( _keyval ); \
+ MPIU_DBG_MSG_FMT(REFCOUNT,TYPICAL,(MPIU_DBG_FDEST, \
+ "Incr keyval %p ref count to %d",_keyval,_keyval->ref_count)); \
+ } while(0)
-#define MPIR_Keyval_release_ref( _keyval, _inuse ) \
- { MPIU_Object_release_ref( _keyval, _inuse ); \
- MPIU_DBG_MSG_FMT(REFCOUNT,TYPICAL,(MPIU_DBG_FDEST,\
- "Decr keyval %p ref count to %d",_keyval,_keyval->ref_count));}
+#define MPIR_Keyval_release_ref( _keyval, _inuse ) \
+ do { \
+ MPIU_Object_release_ref( _keyval, _inuse ); \
+ MPIU_Assert((_keyval)->ref_count >= 0); \
+ MPIU_DBG_MSG_FMT(REFCOUNT,TYPICAL,(MPIU_DBG_FDEST, \
+ "Decr keyval %p ref count to %d",_keyval,_keyval->ref_count)); \
+ } while(0)
/* Attributes need no ref count or handle, but since we want to use the
common block allocator for them, we must provide those elements
More information about the mpich2-commits
mailing list