[commit: ghc] master: Change catch# demand signature (701256d)
git at git.haskell.org
git at git.haskell.org
Wed Mar 1 06:14:35 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/701256df88c61a2eee4cf00a59e61ef76a57b4b4/ghc
>---------------------------------------------------------------
commit 701256df88c61a2eee4cf00a59e61ef76a57b4b4
Author: David Feuer <david.feuer at gmail.com>
Date: Wed Mar 1 01:14:13 2017 -0500
Change catch# demand signature
* Give `catch#` a lazy demand signature, to make it more honest.
* Make `catchException` and `catchAny` force their arguments so they
actually behave as advertised.
* Use `catch` rather than `catchException` in `forkIO`, `forkOn`, and
`forkOS` to avoid losing exceptions.
Fixes #13330
Reviewers: rwbarton, simonpj, simonmar, bgamari, hvr, austin
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D3244
>---------------------------------------------------------------
701256df88c61a2eee4cf00a59e61ef76a57b4b4
compiler/basicTypes/Demand.hs | 2 +-
compiler/prelude/primops.txt.pp | 2 +-
libraries/base/Control/Concurrent.hs | 2 +-
libraries/base/Control/Exception/Base.hs | 39 ----------
libraries/base/GHC/Conc/Sync.hs | 14 +++-
libraries/base/GHC/Foreign.hs | 20 +++++-
libraries/base/GHC/IO.hs | 82 +++++++++++++++-------
.../should_run/{conc009.hs => T13330.hs} | 6 +-
.../tests/concurrent/should_run/T13330.stderr | 3 +
testsuite/tests/concurrent/should_run/all.T | 3 +
10 files changed, 98 insertions(+), 75 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 701256df88c61a2eee4cf00a59e61ef76a57b4b4
More information about the ghc-commits
mailing list