Bool app_done;
I64  app_done_ack;

U0 Job1(I64)
{//Compile Compiler
        Silent;
        while (!app_done)
        {
                Cd("::/Compiler");
                Comp("Compiler");
        }
        lock {app_done_ack--;}
}

U0 Job2(I64)
{//Log a file
        while (!app_done)
        {
                SysLog("%F", "::/Demo/MultiCore/LoadTest.CC");
                Yield;
        }
        lock {app_done_ack--;}
}

U0 Job3(I64)
{//Log a file
        while (!app_done)
        {
                Cd("::/Compiler");
                SysLog("%F", "Compiler.PRJ");
                Yield;
        }
        lock {app_done_ack--;}
}

U0 Main()
{
        app_done = FALSE;
        "Running MultiCore Test...\n";
        Spawn(&Job1,,, 1); //core #1
        Spawn(&Job2,,, 1);
        Spawn(&Job3,,, 1);
        PressAKey;
        //We don't want to yank code from under MP cores.
        app_done_ack = 3;
        app_done = TRUE;
        while (app_done_ack)
                Yield;
}

Main;