diff --git a/allocate.c b/allocate.c index 72ad624a4640540aa40468ae3d68eda78b12abee..9d26980c3149be452f0b91ff6e1bee9f86934aea 100644 --- a/allocate.c +++ b/allocate.c @@ -42,6 +42,8 @@ void advanceProcessQueue(llist *processQueue, int currentTime, int deltaTime, ll void printQEntry(process *p); +void headNULL(llist * p); + int leastTimeRemaining(process *p, process *q); int leastExecutionTime(process *p, process *q); @@ -69,8 +71,10 @@ int main(int argc, char *argv[]) { float averageTurnaroundTime = 0; llist *completedProcesses, paralellizedProcesses, arrivalLounge; completedProcesses = llist_create(NULL);// is making list + //headNULL(completedProcesses); paralellizedProcesses = llist_create(NULL); + process *newProcess; float maxOverhead = 0.0; float averageOverhead = 0.0; @@ -174,14 +178,13 @@ int main(int argc, char *argv[]) { exit(1); } // Log finished processes. - struct node * currNode = ((struct node *) completedProcesses); - process * currProc; - if (currNode) currProc = currNode->data; + struct node * currNode = *completedProcesses; //(struct node *) + headData(completedProcesses); + process * currProc = currNode->data; while ( currNode ){ if ( currProc!= NULL && currProc->timeCompleted >= currentTime ) { printf("%d,FINISHED,pid=%s,proc_remaining=%d\n", currProc->timeCompleted, currProc->processID, numProcessesLeft); - } currNode = currNode->next; if (currNode) currProc = currNode->data; @@ -257,7 +260,7 @@ int main(int argc, char *argv[]) { } // currentTime += deltaTime; - } + } // printf("Completed Queue:"); // llist_print(completedProcesses, (void (*)(void *)) &printQEntry); @@ -302,7 +305,7 @@ int leastTimeRemaining(process *p, process *q) { if (p->timeRemaining < q->timeRemaining){ return -1; //true }else if(p->executionTime == q->executionTime && - pid<qid) { + pid<qid) { return -1; } else return 0; @@ -315,7 +318,7 @@ int leastExecutionTime(process *p, process *q) { if (p->executionTime < q->executionTime ){ return -1; //true }else if(p->executionTime == q->executionTime && - pid<qid) { + pid<qid) { return -1; }else return 0; //false }