Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rubygem-concurrent-ruby for
openSUSE:Factory checked in at 2021-01-21 21:55:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-concurrent-ruby (Old)
and /work/SRC/openSUSE:Factory/.rubygem-concurrent-ruby.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-concurrent-ruby"
Thu Jan 21 21:55:23 2021 rev:12 rq:865177 version:1.1.8
Changes:
--------
---
/work/SRC/openSUSE:Factory/rubygem-concurrent-ruby/rubygem-concurrent-ruby.changes
2020-08-24 15:09:44.910588367 +0200
+++
/work/SRC/openSUSE:Factory/.rubygem-concurrent-ruby.new.28504/rubygem-concurrent-ruby.changes
2021-01-21 21:55:24.753796316 +0100
@@ -1,0 +2,12 @@
+Wed Jan 20 12:28:48 UTC 2021 - Stephan Kulow <[email protected]>
+
+updated to version 1.1.8
+ see installed CHANGELOG.md
+
+ ## Release v1.1.8 (20 January 2021)
+
+ * (#885) Fix race condition in TVar for stale reads
+ * (#884) RubyThreadLocalVar: Do not iterate over hash which might conflict
with new pair addition
+
+
+-------------------------------------------------------------------
Old:
----
concurrent-ruby-1.1.7.gem
New:
----
concurrent-ruby-1.1.8.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-concurrent-ruby.spec ++++++
--- /var/tmp/diff_new_pack.2RaCbs/_old 2021-01-21 21:55:25.409796773 +0100
+++ /var/tmp/diff_new_pack.2RaCbs/_new 2021-01-21 21:55:25.409796773 +0100
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-concurrent-ruby
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
#
Name: rubygem-concurrent-ruby
-Version: 1.1.7
+Version: 1.1.8
Release: 0
%define mod_name concurrent-ruby
%define mod_full_name %{mod_name}-%{version}
++++++ concurrent-ruby-1.1.7.gem -> concurrent-ruby-1.1.8.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2020-08-08 17:35:52.000000000 +0200
+++ new/CHANGELOG.md 2021-01-20 10:56:59.000000000 +0100
@@ -1,5 +1,10 @@
## Current
+## Release v1.1.8 (20 January 2021)
+
+* (#885) Fix race condition in TVar for stale reads
+* (#884) RubyThreadLocalVar: Do not iterate over hash which might conflict
with new pair addition
+
## Release v1.1.7 (6 August 2020)
concurrent-ruby:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Rakefile new/Rakefile
--- old/Rakefile 2020-08-08 17:35:52.000000000 +0200
+++ new/Rakefile 2021-01-20 10:56:59.000000000 +0100
@@ -49,7 +49,9 @@
Rake::Task['lib/concurrent-ruby/concurrent/concurrent_ruby.jar'].invoke
# build all gem files
- RakeCompilerDock.sh 'bundle install --local && bundle exec rake cross
native package --trace'
+ %w[x86-mingw32 x64-mingw32].each do |plat|
+ RakeCompilerDock.sh "bundle install --local && bundle exec rake
native:#{plat} gem --trace", platform: plat
+ end
end
end
end
@@ -302,7 +304,7 @@
end
desc '** tag HEAD with current version and push to github'
- task :tag do
+ task :tag => :ask do
Dir.chdir(__dir__) do
sh "git tag v#{Concurrent::VERSION}"
sh "git push origin v#{Concurrent::VERSION}"
@@ -312,7 +314,7 @@
end
desc '** push all *.gem files to rubygems'
- task :rubygems do
+ task :rubygems => :ask do
Dir.chdir(__dir__) do
sh "gem push pkg/concurrent-ruby-#{Concurrent::VERSION}.gem"
sh "gem push pkg/concurrent-ruby-edge-#{Concurrent::EDGE_VERSION}.gem"
if publish_edge
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/concurrent-ruby/concurrent/atomic/ruby_thread_local_var.rb
new/lib/concurrent-ruby/concurrent/atomic/ruby_thread_local_var.rb
--- old/lib/concurrent-ruby/concurrent/atomic/ruby_thread_local_var.rb
2020-08-08 17:35:52.000000000 +0200
+++ new/lib/concurrent-ruby/concurrent/atomic/ruby_thread_local_var.rb
2021-01-20 10:56:59.000000000 +0100
@@ -97,7 +97,10 @@
# The cost of GC'ing a TLV is linear in the number of threads using
TLVs
# But that is natural! More threads means more storage is used per
TLV
# So naturally more CPU time is required to free more storage
- THREAD_LOCAL_ARRAYS.each_value { |array| array[index] = nil }
+ #
+ # DO NOT use each_value which might conflict with new pair assignment
+ # into the hash in #value= method
+ THREAD_LOCAL_ARRAYS.values.each { |array| array[index] = nil }
# free index has to be published after the arrays are cleared
FREE.push(index)
end
Binary files old/lib/concurrent-ruby/concurrent/concurrent_ruby.jar and
new/lib/concurrent-ruby/concurrent/concurrent_ruby.jar differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/concurrent-ruby/concurrent/tvar.rb
new/lib/concurrent-ruby/concurrent/tvar.rb
--- old/lib/concurrent-ruby/concurrent/tvar.rb 2020-08-08 17:35:52.000000000
+0200
+++ new/lib/concurrent-ruby/concurrent/tvar.rb 2021-01-20 10:56:59.000000000
+0100
@@ -188,7 +188,10 @@
def write(tvar, value)
# Have we already written to this TVar?
- unless @write_log.has_key? tvar
+ if @write_log.has_key? tvar
+ # Record the value written
+ @write_log[tvar] = value
+ else
# Try to lock the TVar
unless tvar.unsafe_lock.try_lock
@@ -196,7 +199,11 @@
Concurrent::abort_transaction
end
- # If we previously wrote to it, check the version hasn't changed
+ # Record the value written
+
+ @write_log[tvar] = value
+
+ # If we previously read from it, check the version hasn't changed
@read_log.each do |log_entry|
if log_entry.tvar == tvar and tvar.unsafe_version > log_entry.version
@@ -204,10 +211,6 @@
end
end
end
-
- # Record the value written
-
- @write_log[tvar] = value
end
def abort
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/concurrent-ruby/concurrent/version.rb
new/lib/concurrent-ruby/concurrent/version.rb
--- old/lib/concurrent-ruby/concurrent/version.rb 2020-08-08
17:35:52.000000000 +0200
+++ new/lib/concurrent-ruby/concurrent/version.rb 2021-01-20
10:56:59.000000000 +0100
@@ -1,3 +1,3 @@
module Concurrent
- VERSION = '1.1.7'
+ VERSION = '1.1.8'
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2020-08-08 17:35:52.000000000 +0200
+++ new/metadata 2021-01-20 10:56:59.000000000 +0100
@@ -1,7 +1,7 @@
--- !ruby/object:Gem::Specification
name: concurrent-ruby
version: !ruby/object:Gem::Version
- version: 1.1.7
+ version: 1.1.8
platform: ruby
authors:
- Jerry D'Antonio
@@ -10,7 +10,7 @@
autorequire:
bindir: bin
cert_chain: []
-date: 2020-08-08 00:00:00.000000000 Z
+date: 2021-01-20 00:00:00.000000000 Z
dependencies: []
description: |
Modern concurrency tools including agents, futures, promises, thread pools,
actors, supervisors, and more.
@@ -184,7 +184,7 @@
- !ruby/object:Gem::Version
version: '0'
requirements: []
-rubygems_version: 3.1.2
+rubygems_version: 3.2.3
signing_key:
specification_version: 4
summary: Modern concurrency tools for Ruby. Inspired by Erlang, Clojure,
Scala, Haskell,