execute 0.1.69 → 0.1.70

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/execute.rb +20 -24
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 20a12fd7eb06ef5c2597c92e16b3f088cac1ad14
4
- data.tar.gz: d1abe60ab9891517c11affc13e2a6c6aef52030c
3
+ metadata.gz: 8d820fe6edcfc7745cd41c4641ee684f3f04189d
4
+ data.tar.gz: 67bb0788cf8a8b05709f5aa731292907dee027f6
5
5
  SHA512:
6
- metadata.gz: d6c8410345b477072d3c75e5d5fcfda774c0911714875c23d1d3a7958ce0bc580447ae39918a3d526288ebd7b8bad4698d1efefde496962b5c6ff4b1623b32b0
7
- data.tar.gz: d35bd5190bab9d0910de09a48addb84ac9a238633dce1678107d549366f24ae5b5f043f76286ca0492dc82a75bb92bec7bb7af8489fb2c42a1e7d08540c8880d
6
+ metadata.gz: 7b59ee96cc2838709d35b124c6a8f6e85c645a583b1c1bddd773032a881c89f502012ecc86f7f49a4b3cac0d74be41a0e9c6a27b7114ec9b5b408a50bfaf35e7
7
+ data.tar.gz: 3d7e5eced8906cae24f7ef5dab897d21790fd8aef4fa870e820849478c135414fa0fbf7836bec9545baf30ed8c3690713462743a0915f1e5cef3cabb881fd67f
@@ -85,24 +85,21 @@ class Execute < Hash
85
85
 
86
86
  unless(timeout.nil?)
87
87
  start_time = Time.now
88
- end_loop = stop_threads
89
88
  threads << Thread.new do
90
89
  begin
91
- while wait_thr.alive? && !end_loop do
90
+ while wait_thr.alive? do
92
91
  if((Time.now - start_time).to_f > timeout)
93
- self[:timed_out] = true
94
- mutex.synchronize { stop_threads = true }
92
+ self[:timed_out] = true
95
93
  interrupt
96
- Thread.exit
94
+ mutex.synchronize {stop_threads = true }
97
95
  else
98
96
  sleep(1)
99
97
  Thread.pass
100
98
  end
101
- mutex.synchronize { end_loop = stop_threads }
99
+ break if(stop_threads)
102
100
  end
103
- rescue Exception => e
101
+ rescue Exception
104
102
  mutex.synchronize { stop_threads = true }
105
- Thread.exit
106
103
  end
107
104
  end
108
105
  end
@@ -110,30 +107,29 @@ class Execute < Hash
110
107
  {:output => stdout,:error => stderr}.each do |key, stream|
111
108
  threads << Thread.new do
112
109
  begin
113
- end_loop = stop_threads
114
110
  last_pass_time = Time.now
115
- while wait_thr.alive? && !end_loop do
116
- unless(stream.closed?)
117
- if((char = stream.getc).nil? || ((Time.now - last_pass_time).to_i > 30))
111
+ while wait_thr.alive? do
112
+ while !stream.closed? &&
113
+ !(char = stream.getc).nil? do
114
+ case key
115
+ when :output
116
+ output << char
117
+ putc char if(self[:echo_output])
118
+ when :error
119
+ error << char
120
+ end
121
+
122
+ if(wait_thr.alive? && ((Time.now - last_pass_time).to_i > 15))
118
123
  last_pass_time = Time.now
119
- sleep(0.1)
120
124
  Thread.pass
121
- else
122
- case key
123
- when :output
124
- output << char
125
- putc char if(self[:echo_output])
126
- when :error
127
- error << char
128
- end
129
125
  end
130
126
  end
131
- mutex.synchronize { end_loop = stop_threads }
127
+ break if(stop_threads)
128
+ sleep(0.1)
132
129
  end
133
- mutex.synchronize { stop_threads = true }
130
+ mutex.synchronize { stop_threads = true }
134
131
  rescue Exception
135
132
  mutex.synchronize { stop_threads = true }
136
- Thread.exit
137
133
  end
138
134
  end
139
135
  end
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.69
4
+ version: 0.1.70
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-02-09 00:00:00.000000000 Z
11
+ date: 2016-03-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler