summaryrefslogtreecommitdiff
path: root/rts
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2008-09-09 13:33:07 +0000
committerSimon Marlow <marlowsd@gmail.com>2008-09-09 13:33:07 +0000
commit128a7fae5da321c24008b1d53ece0a8b58912c82 (patch)
tree50d33fb9b99baefa466308b95d2bc30c8d74bb34 /rts
parentd572aed64d9c40dcc38a49b09d18f301555e4efb (diff)
downloadhaskell-128a7fae5da321c24008b1d53ece0a8b58912c82.tar.gz
small bugfix in traverseBlackHoleQueue()
Diffstat (limited to 'rts')
-rw-r--r--rts/sm/MarkWeak.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/rts/sm/MarkWeak.c b/rts/sm/MarkWeak.c
index 96b4f674f3..3d80357cc4 100644
--- a/rts/sm/MarkWeak.c
+++ b/rts/sm/MarkWeak.c
@@ -341,7 +341,11 @@ traverseBlackholeQueue (void)
}
}
evacuate((StgClosure **)&t);
- if (prev) prev->_link = t;
+ if (prev) {
+ prev->_link = t;
+ } else {
+ blackhole_queue = t;
+ }
// no write barrier when on the blackhole queue,
// because we traverse the whole queue on every GC.
flag = rtsTrue;