X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2FRtsStartup.c;h=0ce17fe16f10265fb5f4de7ab89da7cf2122af31;hp=4f84468b0a8a61afc18ee863b54a0a5f6bd5ce85;hb=8604da0136707cc14845d14a88c2272fe576b6d0;hpb=1d026619ef5f098a0349ba2fa1b29d5697718bad diff --git a/rts/RtsStartup.c b/rts/RtsStartup.c index 4f84468..0ce17fe 100644 --- a/rts/RtsStartup.c +++ b/rts/RtsStartup.c @@ -281,10 +281,6 @@ hs_init(int *argc, char **argv[]) x86_init_fpu(); #endif -#if defined(THREADED_RTS) - ioManagerStart(); -#endif - /* Record initialization times */ stat_endInit(); } @@ -360,6 +356,11 @@ hs_add_root(void (*init_root)(void)) // This must be done after module initialisation. // ToDo: make this work in the presence of multiple hs_add_root()s. initProfiling2(); + + // ditto. +#if defined(THREADED_RTS) + ioManagerStart(); +#endif } /* ---------------------------------------------------------------------------- @@ -498,7 +499,7 @@ hs_exit_(rtsBool wait_foreign) // Originally, this was in report_ccs_profiling(). Now, retainer // profiling might tack some extra stuff on to the end of this file // during endProfiling(). - fclose(prof_file); + if (prof_file != NULL) fclose(prof_file); #endif #if defined(TICKY_TICKY)