X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FSchedule.c;h=3f07d3cb11cb2179cf014174deecb740fa1871e3;hb=a0f97ee917fb2fbdb3ebbe8534429aea409d923b;hp=abd7bc4d56e23a856538ca2bea376f217ceee3af;hpb=214b3663d5d7598c13643f9221e43d5a7735b47f;p=ghc-hetmet.git diff --git a/rts/Schedule.c b/rts/Schedule.c index abd7bc4..3f07d3c 100644 --- a/rts/Schedule.c +++ b/rts/Schedule.c @@ -2201,6 +2201,7 @@ threadStackOverflow(Capability *cap, StgTSO *tso) // if (tso->flags & TSO_SQUEEZED) { + unlockTSO(tso); return tso; } // #3677: In a stack overflow situation, stack squeezing may @@ -2342,7 +2343,7 @@ threadStackUnderflow (Capability *cap, Task *task, StgTSO *tso) // list. The new TSO is not yet on the mutable list, so we better // put it there. new_tso->dirty = 0; - new_tso->flags &= !TSO_LINK_DIRTY; + new_tso->flags &= ~TSO_LINK_DIRTY; dirty_TSO(cap, new_tso); debugTrace(DEBUG_sched, "thread %ld: reducing TSO size from %lu words to %lu",