oni 4.3.0 → 4.3.1

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.
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