diff options
Diffstat (limited to 'rts/HeapStackCheck.cmm')
-rw-r--r-- | rts/HeapStackCheck.cmm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/rts/HeapStackCheck.cmm b/rts/HeapStackCheck.cmm index b3ae2648d9..fbceb7691a 100644 --- a/rts/HeapStackCheck.cmm +++ b/rts/HeapStackCheck.cmm @@ -221,7 +221,11 @@ INFO_TABLE_RET ( stg_enter_checkbh, RET_SMALL, { foreign "C" checkBlockingQueues(MyCapability() "ptr", CurrentTSO); - return (updatee); + + // we need to return updatee now. Note that it might be a pointer + // to an indirection or a tagged value, we don't know which, so we + // need to ENTER() rather than return(). + ENTER(updatee); } /* ----------------------------------------------------------------------------- |