From 4b1ae0e300b97d32347a80bfc3f3d15f9f0e1d99 Mon Sep 17 00:00:00 2001 From: Bess <bakere1@student.unimelb.edu.au> Date: Mon, 29 Mar 2021 20:09:39 +1100 Subject: [PATCH] !!!!!!!!!!IT WORKS!!!!!!!!! - really --- allocate.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/allocate.c b/allocate.c index 72ad624..9d26980 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 } -- GitLab