Skip to content
  • Simon Marlow's avatar
    fix a deadlock in atomicModifyMutVar# · 25cc1d1f
    Simon Marlow authored
    atomicModifyMutVar# was re-using the storage manager mutex (sm_mutex)
    to get its atomicity guarantee in SMP mode. But recently the addition
    of a call to dirty_MUT_VAR() to implement the read barrier lead to a
    rare deadlock case, because dirty_MUT_VAR() very occasionally needs to
    allocate a new block to chain on the mutable list, which requires
    sm_mutex.
    25cc1d1f