diff options
author | Simon Marlow <smarlow@fb.com> | 2016-10-28 08:30:14 -0700 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2016-10-29 19:33:52 +0100 |
commit | 4e088b497edd83f361898fa9d2d62ff310b08945 (patch) | |
tree | f0ef3a8f2443cec7dcdce15493fd8ad92e197997 /compiler/utils | |
parent | 4b300a32257c3ed272747f7e75709a26dd2d8407 (diff) | |
download | haskell-4e088b497edd83f361898fa9d2d62ff310b08945.tar.gz |
Fix a bug in parallel GC synchronisation
Summary:
The problem boils down to global variables: in particular gc_threads[],
which was being modified by a subsequent GC before the previous GC had
finished with it. The fix is to not use global variables.
This was causing setnumcapabilities001 to fail (again!). It's an old
bug though.
Test Plan:
Ran setnumcapabilities001 in a loop for a couple of hours. Before this
patch it had been failing after a few minutes. Not a very scientific
test, but it's the best I have.
Reviewers: bgamari, austin, fryguybob, niteria, erikd
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D2654
Diffstat (limited to 'compiler/utils')
0 files changed, 0 insertions, 0 deletions