Ruby Timeout.timeout replacement using only 1 thread