Sha256: e1514f8bf060edc0decf205819a85135abfdece9039db508e49e6bb360bfa5c6

Contents?: true

Size: 825 Bytes

Versions: 103

Compression:

Stored size: 825 Bytes

Contents

require 'concurrent/utility/native_extension_loader' # load native parts first

module Concurrent
  module Synchronization
    case
    when Concurrent.on_cruby?
      def self.full_memory_barrier
        # relying on undocumented behavior of CRuby, GVL acquire has lock which ensures visibility of ivars
        # https://github.com/ruby/ruby/blob/ruby_2_2/thread_pthread.c#L204-L211
      end

    when Concurrent.on_jruby?
      require 'concurrent/utility/native_extension_loader'
      def self.full_memory_barrier
        JRubyAttrVolatile.full_memory_barrier
      end

    when Concurrent.on_truffleruby?
      def self.full_memory_barrier
        TruffleRuby.full_memory_barrier
      end

    else
      warn 'Possibly unsupported Ruby implementation'
      def self.full_memory_barrier
      end
    end
  end
end

Version data entries

103 entries across 103 versions & 16 rubygems

Version Path
fluent-plugin-nuopenlineage-light-0.1.0 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
fluent-plugin-openlineage-light-0.1.4 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
fluent-plugin-openlineage-light-0.1.3 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.4/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
concurrent-ruby-1.3.4 lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
fluent-plugin-openlineage-0.1.0 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
cm-admin-1.5.22 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
cm-admin-1.5.21 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
cm-admin-1.5.20 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
katalyst-govuk-formbuilder-1.9.2 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.3/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
concurrent-ruby-1.3.3 lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
concurrent-ruby-1.3.2 lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
tinymce-rails-7.1.2 vendor/bundle/ruby/3.3.0/gems/concurrent-ruby-1.3.1/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
concurrent-ruby-1.3.1 lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
concurrent-ruby-1.3.1.pre lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
harbr-2.8.1 vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
mlh-rubocop-config-1.0.3 vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
concurrent-ruby-1.2.3 lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
harbr-0.2.10 vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb
harbr-0.2.9 vendor/bundle/ruby/3.2.0/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/synchronization/full_memory_barrier.rb