-
Simon Marlow authored
We need to call GHC.TopHandler.runIOFastExit instead of GHC.TopHandler.runIO. Recent fixes to the shutdown code have meant that when a thread invokes shutdownHaskellAndExit(), other main threads get a chance to exit (as they should), but this means that we might have a race between the child thread trying to exit the program and the main thread doing the same. In the case of GHCi, if we're running an interpreted computation that needs to exit (as some tests do), then we really want this child thread to exit the program rather than the main thread.
2dbdcc36