Changes between Version 12 and Version 13 of Plugins/ReinitializeGlobals


Ignore:
Timestamp:
Jul 6, 2013 5:17:08 PM (2 years ago)
Author:
nfrisby
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Plugins/ReinitializeGlobals

    v12 v13  
    55I've pushed Option 2 to HEAD. Since then, I've realized the troubles with laziness are more delicate than I thought, so I came up with Options 5 and 6.
    66
    7   * I think Option 3 is the most robust, but I don't know how to pull it off.
     7  * SPJ likes the overall interface changes in Option 1 (ie `workAroundGlobals`) for future-proofness, beyond just this issue with the globals.
     8
     9  * I think Option 3 is the most robust, but I don't know how to pull it off. Simon Marlow weighed-in with a great pointer, which I'm digesting now:
     10
     11  "I haven't been following this in detail, but I think you're encountering the same problem we had with various top-level IORefs in the base package.  The solution we have there is grotesque but it works.  Take a look at libraries/base/GHC/Conc/Signal.hs, search for getOrSetGHCConcSignalSignalHandlerStore.  There is some corresponding RTS gunk to help with this in rts/Globals.c."
    812
    913  * Option 6 sounds best after that, but it was a late idea and I'm not sure how robust the underlying mechanism is.