Fixed CpdIsBdCharmDebugMessage with Gengbin
authorFilippo Gioachin <gioachin@uiuc.edu>
Fri, 23 Apr 2010 22:26:45 +0000 (17:26 -0500)
committerFilippo Gioachin <gioachin@uiuc.edu>
Fri, 23 Apr 2010 22:26:45 +0000 (17:26 -0500)
src/ck-core/debug-charm.C

index c0d1a75aecec64ac0971facdacdbaf287280415c..68378a969184b4ec7a389fc9d2f698ab56d09ed2 100644 (file)
@@ -747,13 +747,10 @@ extern "C" int CpdIsBgCharmDebugMessage(void *msg) {
   if (CmiBgMsgFlag(msg) == BG_CLONE) {
     env=*(envelope**)(((char*)msg)+CmiBlueGeneMsgHeaderSizeBytes);
   }
+  if  ((((CmiBlueGeneMsgHeader*)env)->hID) == CpvAccess(_bgCcsHandlerIdx)) return 1;
     // make sure it indeed is a charm message
-  if ((CmiGetHandler(env) == _charmHandlerIdx) &&
-         (CmiGetHandlerFunction(env) == (CmiHandlerEx)_processHandler) ||
-     (CmiGetXHandler(env) == _charmHandlerIdx) )
-  {
-    return (((CmiBlueGeneMsgHeader*)env)->hID) == CpvAccess(_bgCcsHandlerIdx) ||
-         env->getMsgtype() == ForVidMsg || env->getMsgtype() == FillVidMsg || 
+  if (CmiBgMsgHandle(env) == _charmHandlerIdx) {
+    return env->getMsgtype() == ForVidMsg || env->getMsgtype() == FillVidMsg ||
          _entryTable[env->getEpIdx()]->inCharm;
   }
   return 1;