summaryrefslogtreecommitdiff
path: root/rts/CheckUnload.c
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2014-12-02 10:05:49 +0000
committerSimon Peyton Jones <simonpj@microsoft.com>2014-12-02 10:22:08 +0000
commit4b51194df4090d984f02c12128e868077660fb8b (patch)
tree235ac9eb29821b9560fb9caabb2c90de73e85678 /rts/CheckUnload.c
parent7932b2adaecac6c86038176d909c20ad1b1f9604 (diff)
downloadhaskell-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.c4
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);
}