diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2014-12-02 10:05:49 +0000 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2014-12-02 10:22:08 +0000 |
commit | 4b51194df4090d984f02c12128e868077660fb8b (patch) | |
tree | 235ac9eb29821b9560fb9caabb2c90de73e85678 /rts/CheckUnload.c | |
parent | 7932b2adaecac6c86038176d909c20ad1b1f9604 (diff) | |
download | haskell-4b51194df4090d984f02c12128e868077660fb8b.tar.gz |
Revert "Make the linker API thread-safe"
This reverts commit b5e8b3b162b3ff15ae6caf1afc659565365f54a8.
I reverted it because one of these two patches
9e6e4796437a7fc23e83605a45db9b2663570123 Add purgeObj()
b5e8b3b162b3ff15ae6caf1afc659565365f54a8 Make the linker API thread-safe
causes a seg-fault on Windows. The seg-fault happens immediately
the linker is invoked, in ghci or in Template Haskell.
I believe that it is the "linker API thread-safe" commit that causes
the seg-fault; it happens even if the "purgeObj" commit alone is
reverted. But since the two patches mess with the same code, to
revert the "linker API" patch I had revert both.
Diffstat (limited to 'rts/CheckUnload.c')
-rw-r--r-- | rts/CheckUnload.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/rts/CheckUnload.c b/rts/CheckUnload.c index 73573fbb34..c63a35a24e 100644 --- a/rts/CheckUnload.c +++ b/rts/CheckUnload.c @@ -260,8 +260,6 @@ void checkUnload (StgClosure *static_objects) if (unloaded_objects == NULL) return; - ACQUIRE_LOCK(&linker_mutex); - // Mark every unloadable object as unreferenced initially for (oc = unloaded_objects; oc; oc = oc->next) { IF_DEBUG(linker, debugBelch("Checking whether to unload %" PATH_FMT "\n", @@ -319,6 +317,4 @@ void checkUnload (StgClosure *static_objects) } freeHashTable(addrs, NULL); - - RELEASE_LOCK(&linker_mutex); } |