diff options
Diffstat (limited to 'rts/sm/NonMoving.c')
-rw-r--r-- | rts/sm/NonMoving.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/rts/sm/NonMoving.c b/rts/sm/NonMoving.c index 50cf784aab..20ec5a45ba 100644 --- a/rts/sm/NonMoving.c +++ b/rts/sm/NonMoving.c @@ -896,8 +896,10 @@ void nonmovingCollect(StgWeak **dead_weaks, StgTSO **resurrected_threads) concurrent_coll_running = true; nonmoving_write_barrier_enabled = true; debugTrace(DEBUG_nonmoving_gc, "Starting concurrent mark thread"); - createOSThread(&mark_thread, "non-moving mark thread", - nonmovingConcurrentMark, mark_queue); + if (createOSThread(&mark_thread, "non-moving mark thread", + nonmovingConcurrentMark, mark_queue) != 0) { + barf("nonmovingCollect: failed to spawn mark thread: %s", strerror(errno)); + } } else { nonmovingConcurrentMark(mark_queue); } |