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,

Reply via email to