X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FMain.c;h=04131683ca0c0f8c02687fe8ca829701101dc043;hb=5714a3171fb152b67684a6fb0415771f9e75e8aa;hp=11a0027a4195ce7f423a99b78d4255e1d2574eec;hpb=bc5c802181b513216bc88f0d1ec9574157ee05fe;p=ghc-hetmet.git diff --git a/ghc/rts/Main.c b/ghc/rts/Main.c index 11a0027..0413168 100644 --- a/ghc/rts/Main.c +++ b/ghc/rts/Main.c @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: Main.c,v 1.30 2001/08/14 13:40:09 sewardj Exp $ + * $Id: Main.c,v 1.35 2002/07/18 06:05:30 sof Exp $ * * (c) The GHC Team 1998-2000 * @@ -16,6 +16,7 @@ #include "RtsFlags.h" #include "RtsUtils.h" #include "Prelude.h" +#include #ifdef DEBUG # include "Printer.h" /* for printing */ @@ -39,7 +40,7 @@ # include #endif -extern void __init_PrelMain(void); +extern void __stginit_Main(void); /* Hack: we assume that we're building a batch-mode system unless * INTERPRETER is set @@ -51,7 +52,7 @@ int main(int argc, char *argv[]) SchedulerStatus status; /* all GranSim/GUM init is done in startupHaskell; sets IAmMainThread! */ - startupHaskell(argc,argv,__init_PrelMain); + startupHaskell(argc,argv,__stginit_Main); /* kick off the computation by creating the main thread with a pointer to mainIO_closure representing the computation of the overall program; @@ -83,7 +84,7 @@ int main(int argc, char *argv[]) fprintf(stderr, "==== [%x] Main Thread Started ...\n", mytid)); /* ToDo: Dump event for the main thread */ - status = rts_evalIO((HaskellObj)mainIO_closure, NULL); + status = rts_mainEvalIO((HaskellObj)mainIO_closure, NULL); } else { /* Just to show we're alive */ IF_PAR_DEBUG(verbose, @@ -98,21 +99,17 @@ int main(int argc, char *argv[]) # elif defined(GRAN) /* ToDo: Dump event for the main thread */ - status = rts_evalIO(mainIO_closure, NULL); + status = rts_mainEvalIO(mainIO_closure, NULL); # else /* !PAR && !GRAN */ /* ToDo: want to start with a larger stack size */ - status = rts_evalIO((HaskellObj)mainIO_closure, NULL); + status = rts_mainEvalIO((HaskellObj)mainIO_closure, NULL); # endif /* !PAR && !GRAN */ /* check the status of the entire Haskell computation */ switch (status) { - case Deadlock: - prog_belch("no threads to run: infinite loop or deadlock?"); - exit_status = EXIT_DEADLOCK; - break; case Killed: prog_belch("main thread exited (uncaught exception)"); exit_status = EXIT_KILLED;