[GHC] #910: --make should have a -j flag for parallel building
GHC
ghc-devs at haskell.org
Thu Aug 22 19:39:01 UTC 2013
#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
More information about the ghc-tickets
mailing list