diff --git a/src/sys/kernel/fork.c b/src/sys/kernel/fork.c index 4ddfc2e..107ba9a 100644 --- a/src/sys/kernel/fork.c +++ b/src/sys/kernel/fork.c @@ -105,8 +105,10 @@ /* Create A Copy Of The VM Space For New Task */ newProcess->tss.cr3 = (uInt32)vmmCopyVirtualSpace(newProcess->id); newProcess->state = FORK; - - while (newProcess->state == FORK); + + /* Fix gcc optimization problems */ + volatile struct taskStruct * tmpProcPtr = newProcess; + while (tmpProcPtr->state == FORK) sched_yield(); /* Return Id of Proccess */ return(newProcess->id); @@ -114,6 +116,9 @@ /*** $Log$ + Revision 1.31 2004/09/07 21:54:38 reddawg + ok reverted back to old scheduling for now.... + Revision 1.22 2004/08/09 12:58:05 reddawg let me know when you got the surce