summaryrefslogtreecommitdiff
path: root/rts/Messages.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/Messages.c')
-rw-r--r--rts/Messages.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/rts/Messages.c b/rts/Messages.c
index d878db5eda..fa3db268cd 100644
--- a/rts/Messages.c
+++ b/rts/Messages.c
@@ -77,6 +77,15 @@ loop:
(W_)tso->id);
tryWakeupThread(cap, tso);
}
+ else if (i == &stg_MSG_PAUSE_THREAD_info)
+ {
+ MessagePauseThread *t = (MessagePauseThread *)m;
+ StgStack *stack = t->tso->stackobj;
+ stack->sp += sizeofW(StgPauseThread);
+ StgPauseThread *frame = (StgPauseThread *) stack->sp;
+ frame->mvar = t->mvar;
+ frame->header.info = &stg_pause_thread_info;
+ }
else if (i == &stg_MSG_THROWTO_info)
{
MessageThrowTo *t = (MessageThrowTo *)m;