oni 4.3.0 → 4.3.1

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
  SHA256:
3
- metadata.gz: 19d78db0264593a2aea45885eed49c3cf655379b730708ffb9d0d3449f0738fe
4
- data.tar.gz: d4f9a83030eccd4cdfd786605c1c982f997ad037c922301fecf747915434adda
3
+ metadata.gz: 40eeae757bf8695a6f2ed1256ad7bdb670eb4e303f84519f55fcfa4958b8e948
4
+ data.tar.gz: 1152004d002543f7a5e838e6da6eba80cc92469b84b24916217071f42c40d0e4
5
5
  SHA512:
6
- metadata.gz: f9de57477ff466dca18c6e8e20fb6395e56a4d3dbbecd42d39aa64299e04c88fb8367e02d319ab7143a4a2b97da027be173a956c7f0aa98920c5f58b6ed9c982
7
- data.tar.gz: e809d85d9615508e2f5e59aa8697e4d7b14727c415178e5b977986db69749561d588614d62d6ad4bfe71ed3494fa5d1df4bee5e336fe169fef334ae21df951e3
6
+ metadata.gz: d242b9d34545a45d799a8fc244ea20060e76dc0dacaf972041a537ff8e3747ebeffd0be9df82ef894ece79e99f2a4bb9c2315314097d0d0310e0318ab51dc2df
7
+ data.tar.gz: 108854de0df628b2623b96f4cc4e6696f6eb4b14e0302e56d6e1ba237145cc788636d240171e3a0c85e21a9d9195502bc34fcf04fb44fe55784c378a9daac3ad
data/lib/oni/daemon.rb CHANGED
@@ -58,7 +58,7 @@ module Oni
58
58
 
59
59
  wthreads = if threads <= 1 then [run_thread]
60
60
  elsif workers <= 1 then standard_worker
61
- else wthreads = Array.new(workers).map{ |i| spawn_worker i } end
61
+ else wthreads = Array.new(workers){ |i| spawn_worker i } end
62
62
 
63
63
  after_start if respond_to? :after_start
64
64
 
@@ -79,6 +79,7 @@ module Oni
79
79
  worker_threads.each(&:kill)
80
80
  worker_threads.clear
81
81
  end
82
+ exit
82
83
  end
83
84
 
84
85
  def workers
@@ -184,21 +185,24 @@ module Oni
184
185
  #
185
186
  # @return [Thread]
186
187
  #
187
- def spawn_worker i = nil, &block
188
+ def spawn_worker name = nil, &block
188
189
  Thread.new do
190
+ pid = nil
189
191
  loop do # keep restarting for OOM and other cases
190
192
  pid = fork do
191
- Process.setproctitle "#{$0}: worker #{i}" if i
193
+ Process.setproctitle "#{$0}: worker #{name}" if name
192
194
 
193
195
  if block then yield else standard_worker end
194
196
  end
195
197
  Process.wait pid
196
198
  end
199
+ ensure
200
+ Process.kill :KILL, pid
197
201
  end
198
202
  end
199
203
 
200
204
  def standard_worker
201
- Array.new(threads).map do
205
+ Array.new(threads) do
202
206
  spawn_thread.tap{ |t| daemon_workers[Process.pid] << t }
203
207
  end.each(&:join)
204
208
  end
data/lib/oni/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Oni
2
- VERSION = '4.3.0'
2
+ VERSION = '4.3.1'
3
3
  end # Oni
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oni
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.0
4
+ version: 4.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yorick Peterse