diff --git a/rts/sm/GC.c b/rts/sm/GC.c index 993de51bf84db4f5c7f9e0902ade22245d9e8b28..aeadf6f42f9e0d95df6fa120ebb5210887aa193a 100644 --- a/rts/sm/GC.c +++ b/rts/sm/GC.c @@ -651,7 +651,9 @@ GarbageCollect (rtsBool force_major_gc, zero_static_object_list(gct->scavenged_static_objects); } else { for (i = 0; i < n_gc_threads; i++) { - zero_static_object_list(gc_threads[i]->scavenged_static_objects); + if (!gc_threads[i]->idle) { + zero_static_object_list(gc_threads[i]->scavenged_static_objects); + } } } }