Why does the RTS run GC right before shutting down?

Ömer Sinan Ağacan omeragacan at gmail.com
Fri Apr 6 14:08:22 UTC 2018

We already run all finalizers after exitScheduler:


so no need to run GC for that.


2018-04-06 17:06 GMT+03:00 Edward Z. Yang <ezyang at mit.edu>:
> I believe it's so that we can run finalizers before shutdown.
> Excerpts from Ömer Sinan Ağacan's message of 2018-04-06 16:49:41 +0300:
>> Hi,
>> I'm wondering why we run GC in this line:
>> https://github.com/ghc/ghc/blob/master/rts/Schedule.c#L2670
>> I went back in commit history using git blame and found the commit that
>> introduced that line (5638488ba28), but it didn't help. Does anyone know why we
>> need that line?
>> Thanks,
>> Ömer

More information about the ghc-devs mailing list