diff options
author | Simon Marlow <marlowsd@gmail.com> | 2010-08-23 10:46:54 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2010-08-23 10:46:54 +0000 |
commit | fd316eba4747cf8bb9381e06c7afc3c024e1e5c1 (patch) | |
tree | f0c88c9a695b1d708a779545a6e5ea5d87b454a1 /rts/Messages.c | |
parent | eff182c31745b958d627d4feb1e53c09298c6836 (diff) | |
download | haskell-fd316eba4747cf8bb9381e06c7afc3c024e1e5c1.tar.gz |
Add a couple of missing tests for EAGER_BLACKHOLE
This was leading to looping and excessive allocation, when the
computation should have just blocked on the black hole.
Reported by Christian Höner zu Siederdissen <choener@tbi.univie.ac.at>
on glasgow-haskell-users.
Diffstat (limited to 'rts/Messages.c')
-rw-r--r-- | rts/Messages.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/rts/Messages.c b/rts/Messages.c index f7cb809351..5e0fa2544f 100644 --- a/rts/Messages.c +++ b/rts/Messages.c @@ -175,6 +175,7 @@ nat messageBlackHole(Capability *cap, MessageBlackHole *msg) // all. if (info != &stg_BLACKHOLE_info && info != &stg_CAF_BLACKHOLE_info && + info != &__stg_EAGER_BLACKHOLE_info && info != &stg_WHITEHOLE_info) { // if it is a WHITEHOLE, then a thread is in the process of // trying to BLACKHOLE it. But we know that it was once a |