bug fixes
authorbdemsky <bdemsky>
Mon, 28 Mar 2011 21:24:39 +0000 (21:24 +0000)
committerbdemsky <bdemsky>
Mon, 28 Mar 2011 21:24:39 +0000 (21:24 +0000)
Robust/src/Runtime/mlp_runtime.c

index 7bc8c57968267be44980fc00938a36586f5fa117..a7b6daeec81d60a358450d1c73da1667c0f72e66 100644 (file)
@@ -585,6 +585,7 @@ int ADDSCC(MemoryQueue *Q, REntry *r) {
       return NOTREADY;//<- means that some other dispatcher got this one...so need to do accounting correctly
     }
   } else {
+    s->item.status=NOTREADY;
     Q->tail=(MemoryQueueItem*)S;
     return NOTREADY;
   }
@@ -614,7 +615,7 @@ void RETIRESCC(MemoryQueue *Q, REntry *r) {
   void *flag=NULL;
   flag=(void*)LOCKXCHG((unsigned INTPTR*)&(s->val), (unsigned INTPTR)flag); 
   if (flag!=NULL) {
-#ifdef OOO_DISABLE_TASKMEMPOOL
+#ifndef OOO_DISABLE_TASKMEMPOOL
     RELEASE_REFERENCE_TO(((REntry*)flag)->seseRec);
 #endif
   }
@@ -816,7 +817,7 @@ void RESOLVEVECTOR(MemoryQueue *q, Vector *V) {
          poolfreeinto(q->rentrypool,val);
 #endif
        }
-#if defined(RCR)&&defined(OOO_DISABLE_TASKMEMPOOL)
+#if defined(RCR)&&!defined(OOO_DISABLE_TASKMEMPOOL)
        else if (atomic_sub_and_test(1, &((REntry *)val)->count))
          poolfreeinto(q->rentrypool,val);
         RELEASE_REFERENCE_TO(seseCommon);
@@ -838,7 +839,7 @@ void RESOLVESCC(SCC *S) {
   if (flag!=NULL) {
     SESEcommon *seseCommon=((REntry *)flag)->seseRec;
     resolveDependencies(flag);
-#if defined(RCR)&&defined(OOO_DISABLE_TASKMEMPOOL)
+#if defined(RCR)&&!defined(OOO_DISABLE_TASKMEMPOOL)
     if (atomic_sub_and_test(1, &((REntry *)flag)->count))
       poolfreeinto(q->rentrypool, flag);
     RELEASE_REFERENCE_TO(seseCommon);