[project @ 2003-07-18 14:39:05 by simonmar]
authorsimonmar <unknown>
Fri, 18 Jul 2003 14:39:06 +0000 (14:39 +0000)
committersimonmar <unknown>
Fri, 18 Jul 2003 14:39:06 +0000 (14:39 +0000)
commit7ede37c94402b0b8586135172e805445052cb298
tree3ed787deac19a2f568ab9d0404c8aa45c14c744b
parent17b0047a49fcdd62f2c3c2f09e3745b091350050
[project @ 2003-07-18 14:39:05 by simonmar]
When doing update-in-place, there is a (small) chance that the thunk
may have been blackholed and another thread might be waiting on it.
We can't therefore just splat it with the value; we have to check
whether it is a blocking queue and awaken any threads that might be
waiting on it if so.

Should fix the scavenge_mutable_list crash reported recently.  If it
does, it will be merged to STABLE.
ghc/compiler/absCSyn/AbsCSyn.lhs
ghc/compiler/absCSyn/PprAbsC.lhs
ghc/compiler/codeGen/CgHeapery.lhs
ghc/includes/Updates.h