
#910: --make should have a -j flag for parallel building -------------------------------------+------------------------------------ Reporter: igloo | Owner: Type: feature request | Status: patch Priority: normal | Milestone: _|_ Component: Compiler | Version: 6.4.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: N/A | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by rrnewton): Thanks for doing the work on this! Very exciting. I for one will start testing it. I started reading the code a bit and have one question. But first, thanks for producing well-documented code---very readable! My question has to do with the banal issue of printing stuff out in parallel, which can often be quite ugly. I like that the normal compilation output is directed to a per-module TQueue. But what about printed exceptions when they occur? I see that you've got three "[g]bracket" calls in the parallel upsweep, and that you take care to kill worker threads (asychronously) when an exception occurs. However, I don't see a general catch-all for exceptions at the top of each worker thread (such as in Control.Async). In my experience exceptions on child threads can be a real pain. For example, if a worker thread dies... it looks like other threads may be blocked indefinitely waiting on the result MVar? Apologies if I've missed something... -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/910#comment:24 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler