X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FMain.c;h=83fb11527f12a6831bad747aa540b8813cbdf064;hb=fb7a723bfd7650a705cb226e07c5b08b7a8e9279;hp=582a932447ba0a9c6e7665b2bfc85983f3ba6e3b;hpb=a1b48d4cadca3a113abd33e65531f250186ea469;p=ghc-hetmet.git diff --git a/ghc/rts/Main.c b/ghc/rts/Main.c index 582a932..83fb115 100644 --- a/ghc/rts/Main.c +++ b/ghc/rts/Main.c @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: Main.c,v 1.28 2001/07/26 03:20:52 ken Exp $ + * $Id: Main.c,v 1.31 2001/09/04 18:29:21 ken Exp $ * * (c) The GHC Team 1998-2000 * @@ -9,6 +9,7 @@ #define COMPILING_RTS_MAIN +#include "PosixSource.h" #include "Rts.h" #include "RtsAPI.h" #include "SchedAPI.h" @@ -38,11 +39,7 @@ # include #endif -#ifdef HAVE_TIME_H -# include -#endif - -extern void __init_PrelMain(void); +extern void __stginit_PrelMain(void); /* Hack: we assume that we're building a batch-mode system unless * INTERPRETER is set @@ -54,18 +51,7 @@ int main(int argc, char *argv[]) SchedulerStatus status; /* all GranSim/GUM init is done in startupHaskell; sets IAmMainThread! */ - /* - * Believe it or not, calling tzset() at startup seems to get rid of - * a scheduler-related Heisenbug on alpha-dec-osf3. The symptom of - * the bug is that, when the load on the machine is high or when - * there are many threads, the variable "Capability *cap" in the - * function "schedule" in the file "Schedule.c" magically becomes - * null before the line "t = cap->rCurrentTSO;". Why, and why does - * calling tzset() here seem to fix it? Excellent questions! - */ - tzset(); - - startupHaskell(argc,argv,__init_PrelMain); + startupHaskell(argc,argv,__stginit_PrelMain); /* kick off the computation by creating the main thread with a pointer to mainIO_closure representing the computation of the overall program;