X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRtsMain.c;h=b6cf546aea88b87a6fa22c52b271583f0865d80e;hb=d108044bef62f6a0d579c92ced5e8188f72edc2d;hp=aa2fe0f6dcd9783acf50eda209eecad4cee5e0a5;hpb=fa00cc50ecd1aa292657720b7594b7bdb82c970c;p=ghc-hetmet.git diff --git a/rts/RtsMain.c b/rts/RtsMain.c index aa2fe0f..b6cf546 100644 --- a/rts/RtsMain.c +++ b/rts/RtsMain.c @@ -11,8 +11,7 @@ #include "PosixSource.h" #include "Rts.h" #include "RtsAPI.h" -#include "SchedAPI.h" -#include "RtsFlags.h" + #include "RtsUtils.h" #include "RtsMain.h" #include "Prelude.h" @@ -20,22 +19,11 @@ #if defined(mingw32_HOST_OS) #include "win32/seh_excn.h" #endif -#include #ifdef DEBUG # include "Printer.h" /* for printing */ #endif -#ifdef PAR -# include "Parallel.h" -# include "ParallelRts.h" -# include "LLC.h" -#endif - -#if defined(GRAN) || defined(PAR) -# include "GranSimRts.h" -#endif - #ifdef HAVE_WINDOWS_H # include #endif @@ -72,44 +60,6 @@ static void real_main(void) (IAmMainThread is set in startupHaskell) */ -# if defined(PAR) - -# if defined(DEBUG) - { /* a wait loop to allow attachment of gdb to UNIX threads */ - nat i, j, s; - - for (i=0, s=0; i<(nat)RtsFlags.ParFlags.wait; i++) - for (j=0; j<1000000; j++) - s += j % 65536; - } - IF_PAR_DEBUG(verbose, - belch("Passed wait loop")); -# endif - - if (IAmMainThread == rtsTrue) { - IF_PAR_DEBUG(verbose, - debugBelch("==== [%x] Main Thread Started ...\n", mytid)); - - /* ToDo: Dump event for the main thread */ - status = rts_mainLazyIO(progmain_closure, NULL); - } else { - /* Just to show we're alive */ - IF_PAR_DEBUG(verbose, - debugBelch("== [%x] Non-Main PE enters scheduler via taskStart() without work ...\n", - mytid)); - - /* all non-main threads enter the scheduler without work */ - taskStart(); - status = Success; // declare victory (see shutdownParallelSystem) - } - -# elif defined(GRAN) - - /* ToDo: Dump event for the main thread */ - status = rts_mainLazyIO(progmain_closure, NULL); - -# else /* !PAR && !GRAN */ - /* ToDo: want to start with a larger stack size */ { Capability *cap = rts_lock(); @@ -119,8 +69,6 @@ static void real_main(void) rts_unlock(cap); } -# endif /* !PAR && !GRAN */ - /* check the status of the entire Haskell computation */ switch (status) { case Killed: @@ -137,12 +85,6 @@ static void real_main(void) case Success: exit_status = EXIT_SUCCESS; break; -#if defined(PAR) - case NoStatus: - errorBelch("main thread PE killed; probably due to failure of another PE; check /tmp/pvml..."); - exit_status = EXIT_KILLED; - break; -#endif default: barf("main thread completed with invalid status"); }