diff options
| author | Simon Marlow <marlowsd@gmail.com> | 2012-08-20 13:52:07 +0100 |
|---|---|---|
| committer | Simon Marlow <marlowsd@gmail.com> | 2012-08-21 09:59:04 +0100 |
| commit | cec899d9fb668d4adccf731a63902e5be49f0660 (patch) | |
| tree | 35dbf86bd448bbc0479e650e1bff31ef4ea9b336 /rts/Linker.c | |
| parent | 2fe4dbc729ba35640ee3b6ea7e196ba91521fa62 (diff) | |
| download | haskell-cec899d9fb668d4adccf731a63902e5be49f0660.tar.gz | |
Retain ordering of finalizers during GC (#7160)
This came up since the addition of C finalizers, since Haskell
finalizers are already stored in an explicit list. C finalizers on
the other hand get a WEAK object each, so in order to run them in the
right order we have to make sure that list stays in the correct
order. I hate adding new invariants, but this is the quickest way to
fix the bug for now. A better way to fix it would be to have a single
WEAK object with a list of finaliers attached to it, and a primop
for adding finalizers to the list.
Diffstat (limited to 'rts/Linker.c')
0 files changed, 0 insertions, 0 deletions
