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:

https://github.com/ghc/ghc/blob/master/rts/RtsStartup.c#L382-L388

so no need to run GC for that.

Ömer

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