execute 0.1.49 → 0.1.50

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cmd.rb +5 -5
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dc624c094f70bb09172061104c82f9eb5f55b2b1
4
- data.tar.gz: 19033bbad9ef895c7811e160b43db5364843932f
3
+ metadata.gz: 6398996183fd5bd731334f44c604accf4ab96d85
4
+ data.tar.gz: dd2145c6f035180466b44d1dd266d5269d7a8243
5
5
  SHA512:
6
- metadata.gz: f0bc9754acfb8e057d81160ef94dbcd04fea93578d2ddadcaf095c808ca27f3f216d6aff9724747088979da31f79d861cdb8330ee3eec17a42340699004e5943
7
- data.tar.gz: eaa8b84b6ce32f01498cc99e2cc5b6ec9135ad8fe10ce6bea38cd8f5b348cd96ffa64aec65fc71c65a2db1adadce0dd006da880a260c695df9268c7bf027b5ad
6
+ metadata.gz: e15e812d1941c3e9804677bba004be6ea75852573b0c475e12085be1439c33ed0fb8b4e23b26013cf9e1ca7f209920e83e1826a7dcac27baab8362c468d751a2
7
+ data.tar.gz: c0aeeaace436dd5a51ade2e2ed2175f74d9d322d684e398d87aa6cf2dd3a92727d86bdbfdbf7cc4535ab92b990f975b52123cc5cf07e82d68f167f227698c402
data/lib/cmd.rb CHANGED
@@ -84,7 +84,7 @@ class CMD < Hash
84
84
  sleep(0.1)
85
85
  if((Time.now - start_time).to_f > self[:timeout])
86
86
  self[:timed_out] = true
87
- kill_child_processes
87
+ interrupt
88
88
  sleep(0.1)
89
89
  end
90
90
  end
@@ -93,8 +93,8 @@ class CMD < Hash
93
93
 
94
94
  {:output => stdout,:error => stderr}.each do |key, stream|
95
95
  Thread.new do
96
- while wait_thr.alive? && !key?(:timed_out) && !stream.closed? do
97
- if(!(char = stream.getc).nil?)
96
+ while wait_thr.alive? && !key?(:timed_out) do
97
+ if(!stream.closed? && !(char = stream.getc).nil?)
98
98
  case key
99
99
  when :output
100
100
  output << char
@@ -116,13 +116,13 @@ class CMD < Hash
116
116
  self[:exit_code] = wait_thr.value.to_i
117
117
  end
118
118
  rescue Exception => e
119
- kill_child_processes
120
119
  self[:error] = "#{self[:error]}\nException: #{e.to_s}"
121
120
  self[:exit_code]=1 unless(self[:exit_code].nil? || (self[:exit_code] == 0))
122
121
  end
123
122
  end
124
- def kill_child_processes
123
+ def interrupt
125
124
  process = get_child_processes(self[:pid])
125
+
126
126
  Sys::ProcTable.ps { |p| process << p if(p.pid == self[:pid]) }
127
127
 
128
128
  process.each { |p| Process.kill(self[:timeout_signal],p.pid) unless(Sys::ProcTable.ps(p.pid).nil?) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: execute
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.49
4
+ version: 0.1.50
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Marshall
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-08 00:00:00.000000000 Z
11
+ date: 2016-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler