Sha256: 8dc44379234c93df9dd201a203360050f15c297f798cbacbd8c6371ad9ea8773

Contents?: true

Size: 909 Bytes

Versions: 1

Compression:

Stored size: 909 Bytes

Contents

module Spring
  module ApplicationImpl
    def notify_manager_ready
      manager.puts Process.pid
    end

    def receive_streams(client)
      []
    end

    def reopen_streams(streams)
      # NOP
    end

    def eager_preload
      preload
    end

    def screen_attached?
      !system(%{screen -ls | grep "#{ENV['SPRING_SCREEN_NAME']}" | grep Detached > /dev/null})
    end

    def screen_move_to_bottom
      puts "\033[22B"
    end

    def fork_child(client, streams, child_started)
      manager.puts ENV["SPRING_SCREEN_NAME"]
      child_started[0] = true
      exitstatus = 0
      begin
        log "started #{Process.pid}"
        yield
      rescue SystemExit => ex
        exitstatus = ex.status
      end

      log "#{Process.pid} exited with #{exitstatus}"
      exit
    end

    def before_command
      screen_move_to_bottom
      sleep 0.1 until screen_attached?
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spring-jruby-1.4.3 lib/spring-jruby/impl/pool/application.rb