From 40b1a3cb6bab3955b0de6ce592dd21ae02f4b594 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Tue, 8 Dec 2009 10:12:29 +0000 Subject: [PATCH] add locking in mkWeakForeignEnv# --- rts/PrimOps.cmm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rts/PrimOps.cmm b/rts/PrimOps.cmm index b88ca7a..b4dfb6d 100644 --- a/rts/PrimOps.cmm +++ b/rts/PrimOps.cmm @@ -377,8 +377,10 @@ stg_mkWeakForeignEnvzh StgWeak_finalizer(w) = stg_NO_FINALIZER_closure; StgWeak_cfinalizer(w) = p; + ACQUIRE_LOCK(sm_mutex); StgWeak_link(w) = W_[weak_ptr_list]; W_[weak_ptr_list] = w; + RELEASE_LOCK(sm_mutex); IF_DEBUG(weak, foreign "C" debugBelch(stg_weak_msg,w) []); -- 1.7.10.4