class Concurrent::SimpleActorRef

def post!(timeout, *msg)

def post!(timeout, *msg)
  raise Concurrent::TimeoutError unless timeout.nil? || timeout >= 0
  ivar = self.post(*msg)
  ivar.value(timeout)
  if ivar.incomplete?
    raise Concurrent::TimeoutError
  elsif ivar.reason
    raise ivar.reason
  end
  ivar.value
end