return NOTREADY;//<- means that some other dispatcher got this one...so need to do accounting correctly
}
} else {
- s->item.status=NOTREADY;
+ S->item.status=NOTREADY;
Q->tail=(MemoryQueueItem*)S;
return NOTREADY;
}
} else if (isVector(head)) {
RESOLVEVECTOR(Q, (Vector *) head);
} else if (isSingleItem(head)) {
- RESOLVESCC((SCC *)head);
+ RESOLVESCC(Q, (SCC *)head);
}
if (head->next==NULL)
break;
}
}
-void RESOLVESCC(SCC *S) {
+ void RESOLVESCC(MemoryQueue *q, SCC *S) {
//precondition: SCC's state is READY
void* flag=NULL;
flag=(void*)LOCKXCHG((unsigned INTPTR*)&(S->val), (unsigned INTPTR)flag);
void RESOLVECHAIN(MemoryQueue *Q);
void RESOLVEHASHTABLE(MemoryQueue *Q, Hashtable *T);
void RESOLVEVECTOR(MemoryQueue *q, Vector *V);
-void RESOLVESCC(SCC *S);
+void RESOLVESCC(MemoryQueue *q, SCC *S);
void resolveDependencies(REntry* rentry);
#ifndef RCR