summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/rts/storage/TSO.h1
-rw-r--r--rts/STM.c5
2 files changed, 3 insertions, 3 deletions
diff --git a/includes/rts/storage/TSO.h b/includes/rts/storage/TSO.h
index e9c2655416..187b6682e0 100644
--- a/includes/rts/storage/TSO.h
+++ b/includes/rts/storage/TSO.h
@@ -253,6 +253,5 @@ void dirty_STACK (Capability *cap, StgStack *stack);
/* this is the NIL ptr for a TSO queue (e.g. runnable queue) */
#define END_TSO_QUEUE ((StgTSO *)(void*)&stg_END_TSO_QUEUE_closure)
-#define STM_AWOKEN ((StgTSO *)(void*)&stg_STM_AWOKEN_closure)
#endif /* RTS_STORAGE_TSO_H */
diff --git a/rts/STM.c b/rts/STM.c
index 7400d57bab..eee0f46bbc 100644
--- a/rts/STM.c
+++ b/rts/STM.c
@@ -385,11 +385,12 @@ static void unpark_tso(Capability *cap, StgTSO *tso) {
// This way we can avoid sending further wakeup messages in the
// future.
lockTSO(tso);
- if (tso->why_blocked == BlockedOnSTM && tso->block_info.closure == STM_AWOKEN) {
+ if (tso->why_blocked == BlockedOnSTM &&
+ 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 = STM_AWOKEN;
+ tso->block_info.closure = &stg_STM_AWOKEN_closure;
tryWakeupThread(cap,tso);
} else {
TRACE("spurious unpark_tso on tso=%p", tso);