ringleader 1.1.4 → 1.1.5.pre0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/ringleader/cli.rb +1 -1
- data/lib/ringleader/controller.rb +1 -1
- data/lib/ringleader/process.rb +7 -2
- data/lib/ringleader/socket_proxy.rb +4 -1
- data/lib/ringleader/version.rb +1 -1
- data/ringleader.gemspec +1 -1
- metadata +9 -12
    
        data/lib/ringleader/cli.rb
    CHANGED
    
    
    
        data/lib/ringleader/process.rb
    CHANGED
    
    | @@ -30,6 +30,7 @@ module Ringleader | |
| 30 30 | 
             
                #
         | 
| 31 31 | 
             
                # Returns true if the app started, false if not.
         | 
| 32 32 | 
             
                def start
         | 
| 33 | 
            +
                  return false if @stopping
         | 
| 33 34 | 
             
                  if @running
         | 
| 34 35 | 
             
                    true
         | 
| 35 36 | 
             
                  elsif @starting
         | 
| @@ -54,6 +55,7 @@ module Ringleader | |
| 54 55 | 
             
                # zombies), use KILL instead.
         | 
| 55 56 | 
             
                def stop
         | 
| 56 57 | 
             
                  return unless @pid
         | 
| 58 | 
            +
                  @stopping = true
         | 
| 57 59 |  | 
| 58 60 | 
             
                  children = child_pids @pid
         | 
| 59 61 |  | 
| @@ -94,6 +96,7 @@ module Ringleader | |
| 94 96 | 
             
                  @pid = nil
         | 
| 95 97 | 
             
                  @wait_for_port.terminate if @wait_for_port.alive?
         | 
| 96 98 | 
             
                  @wait_for_exit.terminate if @wait_for_exit.alive?
         | 
| 99 | 
            +
                  @stopping = nil
         | 
| 97 100 | 
             
                  signal :running, false
         | 
| 98 101 | 
             
                end
         | 
| 99 102 |  | 
| @@ -178,8 +181,9 @@ module Ringleader | |
| 178 181 | 
             
                end
         | 
| 179 182 |  | 
| 180 183 | 
             
                # Internal: kill orphaned processes
         | 
| 181 | 
            -
                def reap_orphans( | 
| 182 | 
            -
                   | 
| 184 | 
            +
                def reap_orphans(pids)
         | 
| 185 | 
            +
                  pids.each do |pid|
         | 
| 186 | 
            +
                    debug "checking for child #{pid}"
         | 
| 183 187 | 
             
                    next unless Sys::ProcTable.ps(pid)
         | 
| 184 188 | 
             
                    error "child process #{pid} was orphaned, killing it"
         | 
| 185 189 | 
             
                    begin
         | 
| @@ -192,6 +196,7 @@ module Ringleader | |
| 192 196 |  | 
| 193 197 | 
             
                # Internal: returns all child pids of the given parent
         | 
| 194 198 | 
             
                def child_pids(parent_pid)
         | 
| 199 | 
            +
                  debug "retrieving child pids of #{parent_pid}"
         | 
| 195 200 | 
             
                  proc_table = Sys::ProcTable.ps
         | 
| 196 201 | 
             
                  children_of parent_pid, proc_table
         | 
| 197 202 | 
             
                end
         | 
| @@ -27,8 +27,11 @@ module Ringleader | |
| 27 27 |  | 
| 28 28 | 
             
                def proxy(from, to)
         | 
| 29 29 | 
             
                  ::IO.copy_stream from, to
         | 
| 30 | 
            -
                rescue  | 
| 30 | 
            +
                rescue EOFError
         | 
| 31 31 | 
             
                  # from or to were closed
         | 
| 32 | 
            +
                rescue IOError, SystemCallError => e
         | 
| 33 | 
            +
                  # something else went wrong, like a connection reset or timeout: log it
         | 
| 34 | 
            +
                  error e
         | 
| 32 35 | 
             
                ensure
         | 
| 33 36 | 
             
                  from.close unless from.closed?
         | 
| 34 37 | 
             
                  to.close unless to.closed?
         | 
    
        data/lib/ringleader/version.rb
    CHANGED
    
    
    
        data/ringleader.gemspec
    CHANGED
    
    | @@ -22,7 +22,7 @@ Gem::Specification.new do |gem| | |
| 22 22 | 
             
              gem.add_dependency "trollop", "~> 1.16.2"
         | 
| 23 23 | 
             
              gem.add_dependency "rainbow", "~> 1.1.4"
         | 
| 24 24 | 
             
              gem.add_dependency "color", "~> 1.4.1"
         | 
| 25 | 
            -
              gem.add_dependency "sys-proctable", " | 
| 25 | 
            +
              gem.add_dependency "sys-proctable", "= 0.9.1"
         | 
| 26 26 |  | 
| 27 27 | 
             
              gem.add_development_dependency "rake"
         | 
| 28 28 | 
             
              gem.add_development_dependency "rspec", "~> 2.11.0"
         | 
    
        metadata
    CHANGED
    
    | @@ -1,15 +1,15 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: ringleader
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.1. | 
| 5 | 
            -
              prerelease: 
         | 
| 4 | 
            +
              version: 1.1.5.pre0
         | 
| 5 | 
            +
              prerelease: 6
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| 8 8 | 
             
            - Nathan Witmer
         | 
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2013-03 | 
| 12 | 
            +
            date: 2013-04-03 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: celluloid
         | 
| @@ -112,17 +112,17 @@ dependencies: | |
| 112 112 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 113 113 | 
             
                none: false
         | 
| 114 114 | 
             
                requirements:
         | 
| 115 | 
            -
                - -  | 
| 115 | 
            +
                - - '='
         | 
| 116 116 | 
             
                  - !ruby/object:Gem::Version
         | 
| 117 | 
            -
                    version: 0.9. | 
| 117 | 
            +
                    version: 0.9.1
         | 
| 118 118 | 
             
              type: :runtime
         | 
| 119 119 | 
             
              prerelease: false
         | 
| 120 120 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 121 121 | 
             
                none: false
         | 
| 122 122 | 
             
                requirements:
         | 
| 123 | 
            -
                - -  | 
| 123 | 
            +
                - - '='
         | 
| 124 124 | 
             
                  - !ruby/object:Gem::Version
         | 
| 125 | 
            -
                    version: 0.9. | 
| 125 | 
            +
                    version: 0.9.1
         | 
| 126 126 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 127 127 | 
             
              name: rake
         | 
| 128 128 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -256,12 +256,9 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 256 256 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 257 257 | 
             
              none: false
         | 
| 258 258 | 
             
              requirements:
         | 
| 259 | 
            -
              - - ! ' | 
| 259 | 
            +
              - - ! '>'
         | 
| 260 260 | 
             
                - !ruby/object:Gem::Version
         | 
| 261 | 
            -
                  version:  | 
| 262 | 
            -
                  segments:
         | 
| 263 | 
            -
                  - 0
         | 
| 264 | 
            -
                  hash: 3327461616864805707
         | 
| 261 | 
            +
                  version: 1.3.1
         | 
| 265 262 | 
             
            requirements: []
         | 
| 266 263 | 
             
            rubyforge_project: 
         | 
| 267 264 | 
             
            rubygems_version: 1.8.23
         |