diff options
Diffstat (limited to 'rts/Schedule.c')
-rw-r--r-- | rts/Schedule.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/rts/Schedule.c b/rts/Schedule.c index 37ff07f838..84dc406c90 100644 --- a/rts/Schedule.c +++ b/rts/Schedule.c @@ -2501,7 +2501,9 @@ resumeThread (void *task_) incall->suspended_tso = NULL; incall->suspended_cap = NULL; // we will modify tso->_link - updateRemembSetPushClosure(cap, (StgClosure *)tso->_link); + if (RTS_UNLIKELY(nonmoving_write_barrier_enabled)) { + updateRemembSetPushClosure(cap, (StgClosure *)tso->_link); + } tso->_link = END_TSO_QUEUE; traceEventRunThread(cap, tso); |