From c23016cfcd71085666aff17b6f31347144f12f2e Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Mon, 7 Dec 2009 14:52:13 +0000 Subject: [PATCH] need locking around use of weak_ptr_list in mkWeak# --- rts/PrimOps.cmm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rts/PrimOps.cmm b/rts/PrimOps.cmm index 5e762b1..b88ca7a 100644 --- a/rts/PrimOps.cmm +++ b/rts/PrimOps.cmm @@ -321,8 +321,10 @@ stg_mkWeakzh StgWeak_finalizer(w) = R3; StgWeak_cfinalizer(w) = stg_NO_FINALIZER_closure; + 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