rexec 1.6.1 → 1.6.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 37a6927e5affd75981f84d8e7a728d78146bc3e7
4
- data.tar.gz: 0918b351565eeefe516e75512e93eb2a84af45ba
3
+ metadata.gz: 83c8f85d6f0fe5127d00d90d12abd59c946b2370
4
+ data.tar.gz: a509c0b459ffdcef895ce8905e7f36a93d6fd7c3
5
5
  SHA512:
6
- metadata.gz: b8303a4be5df0e6584b78b79ee0ec1d50260fc7a6150d0e3625f9a83bebcc96b221b8c3e5e615c44993195fa26fabac8cd6d105b46988c07be448d83eade5f2a
7
- data.tar.gz: f43d7a09bd0d34fd6a6d82da32e38e25d4c5aa922f2118800dec78304199a75cf654f49acc427a4df5cb1e6c2426c0b96281408ef134735d4398fab84a3cd057
6
+ metadata.gz: b886554d41c8dfdac084351cc8990b3f54d5483cf387bc18881a663398a630829fddaa16d77bc3ac462636e832720ddc159536308b500abfa6dc7bdc2c7346da
7
+ data.tar.gz: 96d6ff057aeb6c5c525f0b9323ef7d54fab5f736b2324220dd240e6b3752b02a01b04d6a6bbef5ce83f277be0d1696052cfcc0063c96a475bc1aa0649d32e128
@@ -1,8 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
- - "1.8.7"
4
- - "1.9.2"
5
3
  - "1.9.3"
6
4
  - "2.0"
7
- - rbx-18mode
8
5
  - rbx-19mode
6
+ - rbx-20mode
@@ -153,6 +153,8 @@ module RExec
153
153
 
154
154
  # The main function to stop the daemon
155
155
  def self.shutdown
156
+ # Interrupt all children processes, preferably to stop them so that they are not left behind.
157
+ Process.kill(0, :INT)
156
158
  end
157
159
  end
158
160
  end
@@ -89,32 +89,11 @@ module RExec
89
89
  $stderr.sync = true
90
90
 
91
91
  begin
92
- error = nil
92
+ daemon.run
93
93
 
94
- main = Thread.new do
95
- begin
96
- daemon.run
97
- rescue
98
- error = $!
99
- end
100
- end
101
-
102
94
  trap("INT") do
103
- begin
104
- daemon.shutdown
105
- main.exit
106
- rescue
107
- error = $!
108
- end
109
- end
110
-
111
- trap("TERM") do
112
- exit!
95
+ daemon.shutdown
113
96
  end
114
-
115
- main.join
116
-
117
- raise error if error
118
97
  rescue
119
98
  $stderr.puts "=== Daemon Exception Backtrace @ #{Time.now.to_s} ==="
120
99
  $stderr.puts "#{$!.class}: #{$!.message}"
@@ -184,8 +163,8 @@ module RExec
184
163
  return
185
164
  end
186
165
 
187
- pid = ProcessFile.recall(daemon)
188
- Process.kill("INT", pid)
166
+ pgid = -Process.getpgid(pid)
167
+ Process.kill("INT", pgid)
189
168
  sleep 0.1
190
169
 
191
170
  sleep 1 if ProcessFile.running(daemon)
@@ -196,8 +175,8 @@ module RExec
196
175
  while ProcessFile.running(daemon) and attempts > 0
197
176
  sig = (attempts >= 2) ? "KILL" : "TERM"
198
177
 
199
- puts "Sending #{sig} to pid #{pid}...".color(:red)
200
- Process.kill(sig, pid)
178
+ puts "Sending #{sig} to process group #{pgid}...".color(:red)
179
+ Process.kill(sig, pgid)
201
180
 
202
181
  attempts -= 1
203
182
  sleep 1
@@ -19,5 +19,5 @@
19
19
  # THE SOFTWARE.
20
20
 
21
21
  module RExec
22
- VERSION = "1.6.1"
22
+ VERSION = "1.6.2"
23
23
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rexec
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.1
4
+ version: 1.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams