summaryrefslogtreecommitdiff
path: root/rts/RtsMain.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/RtsMain.c')
-rw-r--r--rts/RtsMain.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/rts/RtsMain.c b/rts/RtsMain.c
index 57c38742b6..21b8577cca 100644
--- a/rts/RtsMain.c
+++ b/rts/RtsMain.c
@@ -24,28 +24,26 @@
// Hack: we assume that we're building a batch-mode system unless
// INTERPRETER is set
-
+
#if !defined(INTERPRETER) /* Hack */
// The rts entry point from a compiled program using a Haskell main
// function. This gets called from a tiny main function generated by
// GHC and linked into each compiled Haskell program that uses a
// Haskell main function.
-//
+//
// We expect the caller to pass ZCMain_main_closure for
// main_closure. The reason we cannot refer to this symbol directly
// is because we're inside the rts and we do not know for sure that
// we'll be using a Haskell main function.
-//
+//
// NOTE: This function is marked as _noreturn_ in Main.h
int hs_main ( int argc, char *argv[], // program args
StgClosure *main_closure, // closure for Main.main
RtsConfig rts_config) // RTS configuration
-
-{
- BEGIN_WINDOWS_VEH_HANDLER
+{
int exit_status;
SchedulerStatus status;
@@ -56,15 +54,14 @@ int hs_main ( int argc, char *argv[], // program args
}
#endif
-
-
-
hs_init_ghc(&argc, &argv, rts_config);
+ BEGIN_WINDOWS_VEH_HANDLER
+
// kick off the computation by creating the main thread with a pointer
// to mainIO_closure representing the computation of the overall program;
// then enter the scheduler with this thread and off we go;
- //
+ //
// in a parallel setup, where we have many instances of this code
// running on different PEs, we should do this only for the main PE
// (IAmMainThread is set in startupHaskell)
@@ -100,6 +97,6 @@ int hs_main ( int argc, char *argv[], // program args
END_WINDOWS_VEH_HANDLER
shutdownHaskellAndExit(exit_status, 0 /* !fastExit */);
- // No code beyond this point. Dead code elimination will remove it
+ // No code beyond this point. Dead code elimination will remove it
}
# endif /* BATCH_MODE */