class RSpec::Support::Mutex

On 1.8.7, it’s in the stdlib. We don’t want to load the stdlib, b/c this is a test tool, and can affect the test environment, causing tests to pass where they should fail.

So we’re transcribing/modifying it from github.com/ruby/ruby/blob/v1_8_7_374/lib/thread.rb#L56 Some methods we don’t need are deleted. Anything I don’t understand (there’s quite a bit, actually) is left in.

Some formatting changes are made to appease the robot overlord:

https://travis-ci.org/rspec/rspec-core/jobs/54410874

@private

On 1.9 and up, this is in core, so we just use the real one