diff options
Diffstat (limited to 'rts/STM.c')
-rw-r--r-- | rts/STM.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -386,11 +386,11 @@ static void unpark_tso(Capability *cap, StgTSO *tso) { // future. lockTSO(tso); if (tso->why_blocked == BlockedOnSTM && - tso->block_info.closure == stg_STM_AWOKEN_closure) { + tso->block_info.closure == &stg_STM_AWOKEN_closure) { TRACE("unpark_tso already woken up tso=%p", tso); } else if (tso -> why_blocked == BlockedOnSTM) { TRACE("unpark_tso on tso=%p", tso); - tso->block_info.closure = stg_STM_AWOKEN_closure; + tso->block_info.closure = &stg_STM_AWOKEN_closure; tryWakeupThread(cap,tso); } else { TRACE("spurious unpark_tso on tso=%p", tso); |