
#9285: IO manager startup procedure somewhat odd -------------------------------------+------------------------------------ Reporter: edsko | Owner: Type: bug | Status: new Priority: low | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by duncan): So I suppose I'm suggesting something like this: {{{ diff --git a/rts/RtsStartup.c b/rts/RtsStartup.c index 8e7e11d..38435d8 100644 --- a/rts/RtsStartup.c +++ b/rts/RtsStartup.c @@ -258,11 +258,6 @@ hs_init_ghc(int *argc, char **argv[], RtsConfig rts_config) // ToDo: make this work in the presence of multiple hs_add_root()s. initProfiling2(); - // ditto. -#if defined(THREADED_RTS) - ioManagerStart(); -#endif - /* Record initialization times */ stat_endInit(); }}} {{{ diff --git a/rts/RtsMain.c b/rts/RtsMain.c index df63716..68b2c79 100644 --- a/rts/RtsMain.c +++ b/rts/RtsMain.c @@ -60,6 +60,9 @@ static void real_main(void) /* ToDo: want to start with a larger stack size */ { Capability *cap = rts_lock(); +#if defined(THREADED_RTS) + ioManagerStartCap(&cap); +#endif rts_evalLazyIO(&cap,progmain_closure, NULL); status = rts_getSchedStatus(cap); rts_unlock(cap); }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9285#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler