Made *barr volatile since it's a lock structure