обьясните мне почему код метода wait так отличается между версиями
1.8
def wait(mutex)
begin
mutex.exclusive_unlock do
@waiters.push(Thread.current)
Thread.stop
end
ensure
mutex.lock
end
end
1.9
def wait(mutex, timeout=nil)
begin
# TODO: mutex should not be used
@waiters_mutex.synchronize do
@waiters.push(Thread.current)
end
mutex.sleep timeout
ensure
@waiters_mutex.synchronize do
@waiters.delete(Thread.current)
end
end
self
end
как по мне то автор кода для ветки 1.9 явно что-то курил
все что удалось нагуглить — это ссылка в багзилле