Class MonitorMixin::ConditionVariable
In: lib/rbot/compat19.rb
Parent: Object
ConditionVariable lib/rbot/compat19.rb MonitorMixin dot/m_26_0.png

Methods

broadcast   signal   wait  

Public Instance methods

[Source]

    # File lib/rbot/compat19.rb, line 58
58:     def broadcast
59:       @monitor.__send__(:mon_check_owner)
60:       @cond.broadcast
61:     end

[Source]

    # File lib/rbot/compat19.rb, line 53
53:     def signal
54:       @monitor.__send__(:mon_check_owner)
55:       @cond.signal
56:     end

[Source]

    # File lib/rbot/compat19.rb, line 39
39:     def wait(timeout = nil)
40:       #if timeout
41:       #  raise NotImplementedError, "timeout is not implemented yet"
42:       #end
43:       @monitor.__send__(:mon_check_owner)
44:       count = @monitor.__send__(:mon_exit_for_cond)
45:       begin
46:         @cond.wait(@monitor.instance_variable_get("@mon_mutex"), timeout)
47:         return true
48:       ensure
49:         @monitor.__send__(:mon_enter_for_cond, count)
50:       end
51:     end

[Validate]