X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FSTM.c;fp=ghc%2Frts%2FSTM.c;h=282ab74d57551e5808f6ebd61c25d0d09e9a4b59;hb=0201984165ba94315a510dd4388f7b46623d95f8;hp=e92763fbb0b69cc24c7b22d017044edb7fc442bc;hpb=958924a2b338aebbcc8a88ba2cab511517762a19;p=ghc-hetmet.git diff --git a/ghc/rts/STM.c b/ghc/rts/STM.c index e92763f..282ab74 100644 --- a/ghc/rts/STM.c +++ b/ghc/rts/STM.c @@ -328,8 +328,7 @@ static void unpark_tso(Capability *cap, StgTSO *tso) { // if it decides to do so when it is scheduled. if (tso -> why_blocked == BlockedOnSTM) { TRACE("unpark_tso on tso=%p\n", tso); - tso -> why_blocked = NotBlocked; - pushOnRunQueue(cap,tso); + unblockOne(cap,tso); } else { TRACE("spurious unpark_tso on tso=%p\n", tso); }