X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FSchedule.h;h=a00d81af4f494388e972deac2542de88067d5699;hb=1c1ed8694bdd24b003fa5935d001a1835e9b0f4e;hp=1e786ce690103c6f9b06b990869902fd98860dc7;hpb=2726a2f10256710cc6ed80b1098cb32e121e1be7;p=ghc-hetmet.git diff --git a/rts/Schedule.h b/rts/Schedule.h index 1e786ce..a00d81a 100644 --- a/rts/Schedule.h +++ b/rts/Schedule.h @@ -14,7 +14,7 @@ #include "Capability.h" #include "Trace.h" -BEGIN_RTS_PRIVATE +#include "BeginPrivate.h" /* initScheduler(), exitScheduler() * Called from STG : no @@ -155,7 +155,9 @@ popRunQueue (Capability *cap) StgTSO *t = cap->run_queue_hd; ASSERT(t != END_TSO_QUEUE); cap->run_queue_hd = t->_link; - cap->run_queue_hd->block_info.prev = END_TSO_QUEUE; + if (t->_link != END_TSO_QUEUE) { + t->_link->block_info.prev = END_TSO_QUEUE; + } t->_link = END_TSO_QUEUE; // no write barrier req'd if (cap->run_queue_hd == END_TSO_QUEUE) { cap->run_queue_tl = END_TSO_QUEUE; @@ -212,7 +214,7 @@ emptyThreadQueues(Capability *cap) #endif /* !IN_STG_CODE */ -END_RTS_PRIVATE +#include "EndPrivate.h" #endif /* SCHEDULE_H */