sponges 0.4.0 → 0.4.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.
@@ -14,9 +14,11 @@ module Sponges
14
14
  options[:size].times do
15
15
  fork_children
16
16
  end
17
- trap_signals
18
- at_exit do
19
- Sponges.logger.info "Supervisor exits."
17
+ Thread.new do
18
+ trap_signals
19
+ at_exit do
20
+ Sponges.logger.info "Supervisor exits."
21
+ end
20
22
  end
21
23
  Sponges.logger.info "Supervisor started, waiting for messages."
22
24
  sleep
@@ -57,7 +59,7 @@ module Sponges
57
59
  Sponges.logger.warn "Supervisor decrement child's pool by one."
58
60
  if store.children_pids.first
59
61
  kill_one(store.children_pids.first, :HUP)
60
- store.delete_children(children_pids.first)
62
+ store.delete_children(store.children_pids.first)
61
63
  else
62
64
  Sponges.logger.warn "No more child to kill."
63
65
  end
@@ -92,7 +94,9 @@ module Sponges
92
94
 
93
95
  def kill_them_all(signal)
94
96
  store.children_pids.each do |pid|
95
- kill_one(pid.to_i, signal)
97
+ Thread.new do
98
+ kill_one(pid.to_i, signal)
99
+ end
96
100
  end
97
101
  end
98
102
 
@@ -101,7 +105,7 @@ module Sponges
101
105
  Process.kill signal, pid
102
106
  Process.waitpid pid
103
107
  Sponges.logger.info "Child #{pid} receive a #{signal} signal."
104
- rescue Errno::ESRCH => e
108
+ rescue Errno::ESRCH, Errno::ECHILD, SignalException => e
105
109
  # Don't panic
106
110
  end
107
111
  end
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  module Sponges
3
- VERSION = "0.4.0"
3
+ VERSION = "0.4.1"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sponges
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-16 00:00:00.000000000 Z
12
+ date: 2013-01-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: boson