1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/rinda/tuplespace.rb: Only return tuple entry once on move,

either through port or regular return, not both.  This results in a
  120% speedup when combined with #8125.  Patch by Joel VanderWerf.
  [ruby-trunk - Feature #8119]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
drbrain 2013-03-24 22:09:35 +00:00
parent 77b885264b
commit e37f8c0f0b
2 changed files with 9 additions and 2 deletions

View file

@ -1,3 +1,10 @@
Mon Mar 25 07:09:20 2013 Eric Hodel <drbrain@segment7.net>
* lib/rinda/tuplespace.rb: Only return tuple entry once on move,
either through port or regular return, not both. This results in a
120% speedup when combined with #8125. Patch by Joel VanderWerf.
[ruby-trunk - Feature #8119]
Mon Mar 25 06:59:01 2013 Eric Hodel <drbrain@segment7.net> Mon Mar 25 06:59:01 2013 Eric Hodel <drbrain@segment7.net>
* test/rinda/test_rinda.rb: Skip IPv6 tests if no IPv6 addresses * test/rinda/test_rinda.rb: Skip IPv6 tests if no IPv6 addresses

View file

@ -491,7 +491,7 @@ module Rinda
port.push(entry.value) if port port.push(entry.value) if port
@bag.delete(entry) @bag.delete(entry)
notify_event('take', entry.value) notify_event('take', entry.value)
return entry.value return port ? nil : entry.value
end end
raise RequestExpiredError if template.expired? raise RequestExpiredError if template.expired?
@ -506,7 +506,7 @@ module Rinda
port.push(entry.value) if port port.push(entry.value) if port
@bag.delete(entry) @bag.delete(entry)
notify_event('take', entry.value) notify_event('take', entry.value)
return entry.value return port ? nil : entry.value
end end
template.wait template.wait
end end