properly keep expedited message when sending message unknown.
authorGengbin Zheng <gzheng@illinois.edu>
Sun, 4 Sep 2005 23:05:58 +0000 (23:05 +0000)
committerGengbin Zheng <gzheng@illinois.edu>
Sun, 4 Sep 2005 23:05:58 +0000 (23:05 +0000)
src/ck-core/cklocation.C
src/ck-core/cklocation.h

index f13a95fc6509f6d689880dd252ad071ae9cc091e..37fe58b4c36becc275b52ec65d89fc3f31946627 100644 (file)
@@ -1534,12 +1534,12 @@ void CkLocMgr::deliver(CkMessage *m,CkDeliver_t type,int opts) {
        }else /* rec==NULL*/ {
                if (opts & CK_MSG_KEEP)
                        msg = (CkArrayMessage *)CkCopyMsg((void **)&msg);
-               deliverUnknown(msg,type);
+               deliverUnknown(msg,type,opts);
        }
 }
 
 /// This index is not hashed-- somehow figure out what to do.
-CmiBool CkLocMgr::deliverUnknown(CkArrayMessage *msg,CkDeliver_t type)
+CmiBool CkLocMgr::deliverUnknown(CkArrayMessage *msg,CkDeliver_t type,int opts)
 {
        CK_MAGICNUMBER_CHECK
        const CkArrayIndex &idx=msg->array_index();
@@ -1548,7 +1548,7 @@ CmiBool CkLocMgr::deliverUnknown(CkArrayMessage *msg,CkDeliver_t type)
        {// Forward the message to its home processor
                DEBM((AA"Forwarding message for unknown %s to home %d \n"AB,idx2str(idx),onPe));
                msg->array_hops()++;
-               CkArrayManagerDeliver(onPe,msg);
+               CkArrayManagerDeliver(onPe,msg,opts);
                return CmiTrue;
        }
        else
index 9361a25f231fbbfa88c9a1af71b0a3fe2b629d33..cb06790e2dec855c2ee44b75234dae3e8a87a8c5 100644 (file)
@@ -615,7 +615,7 @@ private:
        typedef void (CkMigratable::* CkMigratable_voidfn_t)(void);
        void callMethod(CkLocRec_local *rec,CkMigratable_voidfn_t fn);
 
-       CmiBool deliverUnknown(CkArrayMessage *msg,CkDeliver_t type);
+       CmiBool deliverUnknown(CkArrayMessage *msg,CkDeliver_t type,int opts);
 
        /// Create a new local record at this array index.
        CkLocRec_local *createLocal(const CkArrayIndex &idx,