module DEBUGGER__::MultiProcessGroup
Public Instance Methods
after_fork(child: true)
click to toggle source
# File debug-1.7.1/lib/debug/session.rb, line 2029 def after_fork child: true if child || !@lock_file @m = Mutex.new unless @m @m.synchronize do @lock_level = 0 @lock_file = open(@lock_tempfile.path, 'w') end end end
info(msg)
click to toggle source
# File debug-1.7.1/lib/debug/session.rb, line 2039 def info msg DEBUGGER__.info "#{msg} (#{@lock_level})" # #{caller.first(1).map{|bt| bt.sub(__dir__, '')}}" end
lock()
click to toggle source
# File debug-1.7.1/lib/debug/session.rb, line 2081 def lock unless trylock @m.synchronize do if locked? lock_level_up else info "Lock: block" @lock_file.flock(File::LOCK_EX) lock_level_up end end info "Lock: success" end end
locked?()
click to toggle source
# File debug-1.7.1/lib/debug/session.rb, line 2043 def locked? # DEBUGGER__.debug{ "locked? #{@lock_level}" } @lock_level > 0 end
multi_process!()
click to toggle source
# File debug-1.7.1/lib/debug/session.rb, line 2026 def multi_process! end
sync(&b)
click to toggle source
# File debug-1.7.1/lib/debug/session.rb, line 2106 def sync &b info "sync" lock begin b.call if b ensure unlock end end
unlock()
click to toggle source
# File debug-1.7.1/lib/debug/session.rb, line 2097 def unlock @m.synchronize do raise "lock file is not opened (#{@lock_file.inspect})" if @lock_file.closed? lock_level_down @lock_file.flock(File::LOCK_UN) unless locked? info "Unlocked" end end