X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRtsStartup.c;h=c9edeace8e3c94fb2257b720c30885a8831176bd;hb=6a34402a940c4bf515b0ab5a90da904027a897ef;hp=6abeb404a073bb128c861ff4564a844f77758f77;hpb=6c095bfa3c8c81b52ad92853acd326453d320d7b;p=ghc-hetmet.git diff --git a/rts/RtsStartup.c b/rts/RtsStartup.c index 6abeb40..c9edeac 100644 --- a/rts/RtsStartup.c +++ b/rts/RtsStartup.c @@ -30,10 +30,11 @@ #include "ThreadLabels.h" #include "BlockAlloc.h" #include "Trace.h" -#include "RtsTypeable.h" +#include "RtsGlobals.h" #include "Stable.h" #include "Hpc.h" #include "FileLock.h" +#include "EventLog.h" #if defined(RTS_GTK_FRONTPANEL) #include "FrontPanel.h" @@ -195,7 +196,9 @@ hs_init(int *argc, char **argv[]) #endif /* initTracing must be after setupRtsFlags() */ +#ifdef DEBUG initTracing(); +#endif #if defined(PAR) /* NB: this really must be done after processing the RTS flags */ @@ -240,7 +243,7 @@ hs_init(int *argc, char **argv[]) getStablePtr((StgPtr)blockedIndefinitely_closure); /* initialise the shared Typeable store */ - initTypeableStore(); + initGlobalStore(); /* initialise file locking, if necessary */ #if !defined(mingw32_HOST_OS) @@ -254,6 +257,12 @@ hs_init(int *argc, char **argv[]) initProfiling1(); +#ifdef EVENTLOG + if (RtsFlags.EventLogFlags.doEventLogging) { + initEventLogging(); + } +#endif + /* start the virtual timer 'subsystem'. */ initTimer(); startTimer(); @@ -402,12 +411,6 @@ hs_exit_(rtsBool wait_foreign) OnExitHook(); -#if defined(RTS_USER_SIGNALS) - if (RtsFlags.MiscFlags.install_signal_handlers) { - freeSignalHandlers(); - } -#endif - #if defined(THREADED_RTS) ioManagerDie(); #endif @@ -418,6 +421,12 @@ hs_exit_(rtsBool wait_foreign) /* run C finalizers for all active weak pointers */ runAllCFinalizers(weak_ptr_list); +#if defined(RTS_USER_SIGNALS) + if (RtsFlags.MiscFlags.install_signal_handlers) { + freeSignalHandlers(); + } +#endif + #if defined(GRAN) /* end_gr_simulation prints global stats if requested -- HWL */ if (!RtsFlags.GranFlags.GranSimStats.Suppressed) @@ -479,7 +488,7 @@ hs_exit_(rtsBool wait_foreign) freeScheduler(); /* free shared Typeable store */ - exitTypeableStore(); + exitGlobalStore(); /* free file locking tables, if necessary */ #if !defined(mingw32_HOST_OS) @@ -514,6 +523,13 @@ hs_exit_(rtsBool wait_foreign) if (prof_file != NULL) fclose(prof_file); #endif +#ifdef EVENTLOG + if (RtsFlags.EventLogFlags.doEventLogging) { + endEventLogging(); + freeEventLogging(); + } +#endif + #if defined(TICKY_TICKY) if (RtsFlags.TickyFlags.showTickyStats) PrintTickyInfo(); #endif