Sha256: eac7ffe2c88d375f9caee2f94e5b507d594ceaa082855ffc148ba5aeb149cf6c
Contents?: true
Size: 978 Bytes
Versions: 4
Compression:
Stored size: 978 Bytes
Contents
require 'concurrent/atomic/abstract_thread_local_var' if Concurrent.on_jruby? module Concurrent # @!visibility private # @!macro internal_implementation_note class JavaThreadLocalVar < AbstractThreadLocalVar # @!macro thread_local_var_method_get def value value = @var.get if value.nil? @default elsif value == NIL_SENTINEL nil else value end end # @!macro thread_local_var_method_set def value=(value) @var.set(value) end # @!macro thread_local_var_method_bind def bind(value, &block) if block_given? old_value = @var.get begin @var.set(value) yield ensure @var.set(old_value) end end end protected # @!visibility private def allocate_storage @var = java.lang.ThreadLocal.new end end end end
Version data entries
4 entries across 4 versions & 1 rubygems