Sha256: 06fada87b79dbb99ed62004f397537f726961000cc7ba8fa6d2f23fe68e466f2

Contents?: true

Size: 467 Bytes

Versions: 4

Compression:

Stored size: 467 Bytes

Contents

module Concurrent
  module Synchronization

    # @!visibility private
    # @!macro internal_implementation_note
    class MonitorObject < MutexObject
      def initialize
        @__lock__      = ::Monitor.new
        @__condition__ = @__lock__.new_cond
      end

      protected

      def synchronize
        @__lock__.synchronize { yield }
      end

      def ns_wait(timeout = nil)
        @__condition__.wait timeout
        self
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
concurrent-ruby-0.9.0.pre3-java lib/concurrent/synchronization/monitor_object.rb
concurrent-ruby-0.9.0.pre3 lib/concurrent/synchronization/monitor_object.rb
concurrent-ruby-0.9.0.pre2 lib/concurrent/synchronization/monitor_object.rb
concurrent-ruby-0.9.0.pre2-java lib/concurrent/synchronization/monitor_object.rb