diff options
Diffstat (limited to 'rts/Messages.c')
-rw-r--r-- | rts/Messages.c | 9 |
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; |