/* -----------------------------------------------------------------------------
- * $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
*
#define COMPILING_RTS_MAIN
+#include "PosixSource.h"
#include "Rts.h"
#include "RtsAPI.h"
#include "SchedAPI.h"
# include <windows.h>
#endif
-#ifdef HAVE_TIME_H
-# include <time.h>
-#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
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;