On Wed, 16 Nov 2005, James Edward Gray II wrote:

> If I launch this server:
        [...] 
> __END__
> 
> Then run this client:
> 
> #!/usr/local/bin/ruby -w
> 
> require "drb"
> require "rinda/tuplespace"
> 
> DRb.start_service
> tuplespace = Rinda::TupleSpaceProxy.new(
>  DRbObject.new_with_uri("druby://localhost:61676")
> )
> 
> while problem = tuplespace.take(["Problem", %r{^\d+(?: [-+*/] \d+)+$}])
>  tuplespace.write(["Result", "#{problem.last} = #{eval problem.last}"])
> end
> 
> __END__
> 
> The client crashes, generally within a few seconds.  Adding a sleep inside the
> server loop seems to resolve the issue.
> 
> Anyone know why?

No, I don't. What happens if you match the old way? Like:
  while problem = tuplespace.take(["Problem", nil])
> 
> James Edward Gray II
> 
        Hugh