Added fairness. Potential deadlock still exists because we do not lock state_mutex atomically with either of the chairs.