Hello community,
here is the log from the commit of package rubygem-concurrent-ruby for
openSUSE:Factory checked in at 2016-05-29 03:11:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-concurrent-ruby (Old)
and /work/SRC/openSUSE:Factory/.rubygem-concurrent-ruby.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-concurrent-ruby"
Changes:
--------
---
/work/SRC/openSUSE:Factory/rubygem-concurrent-ruby/rubygem-concurrent-ruby.changes
2016-04-22 16:24:31.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.rubygem-concurrent-ruby.new/rubygem-concurrent-ruby.changes
2016-05-29 03:12:44.000000000 +0200
@@ -1,0 +2,6 @@
+Tue May 3 04:32:14 UTC 2016 - [email protected]
+
+- updated to version 1.0.2
+ see installed CHANGELOG.md
+
+-------------------------------------------------------------------
Old:
----
concurrent-ruby-1.0.1.gem
New:
----
concurrent-ruby-1.0.2.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-concurrent-ruby.spec ++++++
--- /var/tmp/diff_new_pack.yZVSej/_old 2016-05-29 03:12:44.000000000 +0200
+++ /var/tmp/diff_new_pack.yZVSej/_new 2016-05-29 03:12:44.000000000 +0200
@@ -24,7 +24,7 @@
#
Name: rubygem-concurrent-ruby
-Version: 1.0.1
+Version: 1.0.2
Release: 0
%define mod_name concurrent-ruby
%define mod_full_name %{mod_name}-%{version}
++++++ concurrent-ruby-1.0.1.gem -> concurrent-ruby-1.0.2.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2016-02-27 14:47:46.000000000 +0100
+++ new/CHANGELOG.md 2016-05-02 16:19:25.000000000 +0200
@@ -1,4 +1,11 @@
-## Current Release v1.0.1 (27 February 2016)
+## Current Release v1.0.2 (2 May 2016)
+
+* Fix bug with `Concurrent::Map` MRI backend `#inspect` method
+* Fix bug with `Concurrent::Map` MRI backend using `Hash#value?`
+* Improved documentation and examples
+* Minor updates to Edge
+
+### Release v1.0.1 (27 February 2016)
* Fix "uninitialized constant Concurrent::ReentrantReadWriteLock" error.
* Better handling of `autoload` vs. `require`.
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/concurrent/collection/map/non_concurrent_map_backend.rb
new/lib/concurrent/collection/map/non_concurrent_map_backend.rb
--- old/lib/concurrent/collection/map/non_concurrent_map_backend.rb
2016-02-27 14:47:46.000000000 +0100
+++ new/lib/concurrent/collection/map/non_concurrent_map_backend.rb
2016-05-02 16:19:25.000000000 +0200
@@ -76,10 +76,6 @@
@backend.key?(key)
end
- def value?(value)
- @backend.value?(value)
- end
-
def delete(key)
@backend.delete(key)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/concurrent/collection/map/synchronized_map_backend.rb
new/lib/concurrent/collection/map/synchronized_map_backend.rb
--- old/lib/concurrent/collection/map/synchronized_map_backend.rb
2016-02-27 14:47:46.000000000 +0100
+++ new/lib/concurrent/collection/map/synchronized_map_backend.rb
2016-05-02 16:19:25.000000000 +0200
@@ -53,10 +53,6 @@
synchronize { super }
end
- def value?(value)
- synchronize { super }
- end
-
def delete(key)
synchronize { super }
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/concurrent/map.rb new/lib/concurrent/map.rb
--- old/lib/concurrent/map.rb 2016-02-27 14:47:46.000000000 +0100
+++ new/lib/concurrent/map.rb 2016-05-02 16:19:25.000000000 +0200
@@ -149,7 +149,7 @@
return true if value.equal?(v)
end
false
- end unless method_defined?(:value?)
+ end
def keys
arr = []
@@ -202,6 +202,15 @@
undef :freeze
+ # @!visibility private
+ DEFAULT_OBJ_ID_STR_WIDTH = (2**50).class == Fixnum ? 14 : 7 # we want to
look "native", 7 for 32-bit, 14 for 64-bit
+ # override default #inspect() method: firstly, we don't want to be
spilling our guts (i-vars), secondly, MRI backend's
+ # #inspect() call on its @backend i-var will bump @backend's iter level
while possibly yielding GVL
+ def inspect
+ id_str = (object_id << 1).to_s(16).rjust(DEFAULT_OBJ_ID_STR_WIDTH, '0')
+ "#<#{self.class.name}:0x#{id_str} entries=#{size}
default_proc=#{@default_proc.inspect}>"
+ end
+
private
def raise_fetch_no_key
raise KeyError, 'key not found'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/concurrent/promise.rb
new/lib/concurrent/promise.rb
--- old/lib/concurrent/promise.rb 2016-02-27 14:47:46.000000000 +0100
+++ new/lib/concurrent/promise.rb 2016-05-02 16:19:25.000000000 +0200
@@ -28,21 +28,22 @@
# When a promise is rejected all its children will be summarily rejected and
# will receive the reason.
#
- # Promises have four possible states: *unscheduled*, *pending*, *rejected*,
- # and *fulfilled*. A Promise created using `.new` will be *unscheduled*. It
is
- # scheduled by calling the `execute` method. Upon execution the Promise and
- # all its children will be set to *pending*. When a promise is *pending* it
- # will remain in that state until processing is complete. A completed Promise
- # is either *rejected*, indicating that an exception was thrown during
- # processing, or *fulfilled*, indicating it succeeded. If a Promise is
- # *fulfilled* its `value` will be updated to reflect the result of the
- # operation. If *rejected* the `reason` will be updated with a reference to
- # the thrown exception. The predicate methods `unscheduled?`, `pending?`,
- # `rejected?`, and `fulfilled?` can be called at any time to obtain the state
- # of the Promise, as can the `state` method, which returns a symbol. A
Promise
- # created using `.execute` will be *pending*, a Promise created using
- # `.fulfill(value)` will be *fulfilled* with the given value and a Promise
- # created using `.reject(reason)` will be *rejected* with the given reason.
+ # Promises have several possible states: *:unscheduled*, *:pending*,
+ # *:processing*, *:rejected*, or *:fulfilled*. These are also aggregated as
+ # `#incomplete?` and `#complete?`. When a Promise is created it is set to
+ # *:unscheduled*. Once the `#execute` method is called the state becomes
+ # *:pending*. Once a job is pulled from the thread pool's queue and is given
+ # to a thread for processing (often immediately upon `#post`) the state
+ # becomes *:processing*. The future will remain in this state until
processing
+ # is complete. A future that is in the *:unscheduled*, *:pending*, or
+ # *:processing* is considered `#incomplete?`. A `#complete?` Promise is
either
+ # *:rejected*, indicating that an exception was thrown during processing, or
+ # *:fulfilled*, indicating success. If a Promise is *:fulfilled* its `#value`
+ # will be updated to reflect the result of the operation. If *:rejected* the
+ # `reason` will be updated with a reference to the thrown exception. The
+ # predicate methods `#unscheduled?`, `#pending?`, `#rejected?`, and
+ # `#fulfilled?` can be called at any time to obtain the state of the Promise,
+ # as can the `#state` method, which returns a symbol.
#
# Retrieving the value of a promise is done through the `value` (alias:
# `deref`) method. Obtaining the value of a promise is a potentially blocking
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/concurrent/version.rb
new/lib/concurrent/version.rb
--- old/lib/concurrent/version.rb 2016-02-27 14:47:46.000000000 +0100
+++ new/lib/concurrent/version.rb 2016-05-02 16:19:25.000000000 +0200
@@ -1,4 +1,4 @@
module Concurrent
- VERSION = '1.0.1'
- EDGE_VERSION = '0.2.1'
+ VERSION = '1.0.2'
+ EDGE_VERSION = '0.2.2'
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2016-02-27 14:47:46.000000000 +0100
+++ new/metadata 2016-05-02 16:19:25.000000000 +0200
@@ -1,7 +1,7 @@
--- !ruby/object:Gem::Specification
name: concurrent-ruby
version: !ruby/object:Gem::Version
- version: 1.0.1
+ version: 1.0.2
platform: ruby
authors:
- Jerry D'Antonio
@@ -9,7 +9,7 @@
autorequire:
bindir: bin
cert_chain: []
-date: 2016-02-27 00:00:00.000000000 Z
+date: 2016-05-02 00:00:00.000000000 Z
dependencies: []
description: |
Modern concurrency tools including agents, futures, promises, thread pools,
actors, supervisors, and more.
@@ -169,7 +169,7 @@
version: '0'
requirements: []
rubyforge_project:
-rubygems_version: 2.6.0
+rubygems_version: 2.6.4
signing_key:
specification_version: 4
summary: Modern concurrency tools for Ruby. Inspired by Erlang, Clojure,
Scala, Haskell,