summaryrefslogtreecommitdiff
path: root/rts/sm/Compact.c
diff options
context:
space:
mode:
authorSimon Marlow <simonmarhaskell@gmail.com>2008-04-24 20:58:13 +0000
committerSimon Marlow <simonmarhaskell@gmail.com>2008-04-24 20:58:13 +0000
commit01ccdeea34b4853750326126f3bff9b2bdfa9a32 (patch)
tree386283d5e2e14a9e2396fe854b5950abb8883b9f /rts/sm/Compact.c
parent1d0e86e6cd96ce49f478c91fc01de565416ecc22 (diff)
downloadhaskell-01ccdeea34b4853750326126f3bff9b2bdfa9a32.tar.gz
FIX #2185: sparks should not be treated as roots by the GC
Diffstat (limited to 'rts/sm/Compact.c')
-rw-r--r--rts/sm/Compact.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/rts/sm/Compact.c b/rts/sm/Compact.c
index c5f0c37130..bb4d8388c2 100644
--- a/rts/sm/Compact.c
+++ b/rts/sm/Compact.c
@@ -966,6 +966,9 @@ compact(StgClosure *static_objects)
// 1. thread the roots
markCapabilities((evac_fn)thread_root, NULL);
+ // spark queues
+ traverseSparkQueues((evac_fn)thread_root, NULL);
+
// the weak pointer lists...
if (weak_ptr_list != NULL) {
thread((void *)&weak_ptr_list);