• Thomas Schilling's avatar
    Make the dynamic linker thread-safe. · 4fa44a3a
    Thomas Schilling authored
    The current implementation is rather pessimistic.  The persistent
    linker state is now an MVar and all exported Linker functions are
    wrapped in modifyMVar calls.  This is serves as a big lock around all
    linker functions.
    There might be a chance for more concurrency in a few places. E.g.,
    extending the closure environment and loading packages might be
    independent in some cases.  But for now it's better to be on the safe
Linker.lhs 42.6 KB