From: Simon Marlow Date: Tue, 8 Dec 2009 10:12:29 +0000 (+0000) Subject: add locking in mkWeakForeignEnv# X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=40b1a3cb6bab3955b0de6ce592dd21ae02f4b594 add locking in mkWeakForeignEnv# --- 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) []);