X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2FRaiseAsync.c;h=775505f88780ab6a8ebb376516ae60a736f9b76f;hp=550f703e8d465579ebfc13cbb7f5ef7d3257237c;hb=e5c3b478b3cd1707cf122833822f44b2ac09b8e9;hpb=f30d527344db528618f64a25250a3be557d9f287 diff --git a/rts/RaiseAsync.c b/rts/RaiseAsync.c index 550f703..775505f 100644 --- a/rts/RaiseAsync.c +++ b/rts/RaiseAsync.c @@ -592,7 +592,7 @@ removeFromMVarBlockedQueue (StgTSO *tso) if (mvar->head == q) { mvar->head = q->link; - q->header.info = &stg_IND_info; + OVERWRITE_INFO(q, &stg_IND_info); if (mvar->tail == q) { mvar->tail = (StgMVarTSOQueue*)END_TSO_QUEUE; } @@ -602,10 +602,10 @@ removeFromMVarBlockedQueue (StgTSO *tso) // we lose the tail pointer when the GC shorts out the IND. // So we use MSG_NULL as a kind of non-dupable indirection; // these are ignored by takeMVar/putMVar. - q->header.info = &stg_MSG_NULL_info; + OVERWRITE_INFO(q, &stg_MSG_NULL_info); } else { - q->header.info = &stg_IND_info; + OVERWRITE_INFO(q, &stg_IND_info); } // revoke the MVar operation