Sha256: 8cbc75b8ca0f34249dfae382dcb330b82e32a587333686121994b771ab7b1a39

Contents?: true

Size: 762 Bytes

Versions: 5

Compression:

Stored size: 762 Bytes

Contents

module Debugger
  class << self
    attr_accessor :wait_for_start

    def start_remote_ide(host, port)
      return if @control_thread
      @mutex = Mutex.new
      @proceed = ConditionVariable.new
      start
      @control_thread = DebugThread.new do
        server = TCPServer.new(host, port)
        while (session = server.accept)
          interface = Xml::IdeInterface.new(session)
          processor = Xml::IdeControlCommandProcessor.new(interface)
          self.handler = Xml::IdeProcessor.new(interface)
          processor.process_commands
        end
      end
      @mutex.synchronize { @proceed.wait(@mutex) } if wait_for_start
    end

    def proceed
      return unless @mutex
      @mutex.synchronize { @proceed.signal }
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
debugger-xml-0.1.2 lib/debugger/xml/extensions/ide_server.rb
debugger-xml-0.1.1 lib/debugger/xml/extensions/ide_server.rb
debugger-xml-0.1.0 lib/debugger/xml/extensions/ide_server.rb
debugger-xml-0.0.4 lib/debugger/xml/extensions/debugger.rb
debugger-xml-0.0.3 lib/debugger/xml/extensions/debugger.rb