svutil 0.0.7 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
data/lib/svutil.rb CHANGED
@@ -6,5 +6,5 @@ require 'svutil/log'
6
6
  require 'svutil/process_manager'
7
7
 
8
8
  module SVUtil
9
- VERSION = '0.0.7'
9
+ VERSION = '0.0.9'
10
10
  end
@@ -1,8 +1,10 @@
1
1
  module SVUtil
2
2
  class ProcessManager
3
3
  def initialize(klass)
4
- Signal.trap("INT") { shutdown }
5
- Signal.trap("TERM") { shutdown }
4
+ # TODO: Add ability for users to specify these signals
5
+ Signal.trap("INT") { shutdown('Interupted') }
6
+ Signal.trap("TERM") { shutdown('Terminated') }
7
+ Signal.trap("PIPE") { shutdown('Broken Pipe') }
6
8
  if running?
7
9
  STDERR.puts "There is already a '#{$0}' process running"
8
10
  exit 1
@@ -20,14 +22,14 @@ module SVUtil
20
22
  STDERR.puts $!
21
23
  STDERR.puts $!.backtrace if SVUtil::config.trace
22
24
  ensure
23
- remove_pid_file
25
+ shutdown("Process Completed")
24
26
  exit 1
25
27
  end
26
28
  end
27
29
 
28
30
  private
29
- def shutdown
30
- Log.info "Shutting Down"
31
+ def shutdown(reason = nil)
32
+ Log.info "Shutting Down (#{reason})"
31
33
  @server_instance.shutdown if @server_instance.respond_to?(:shutdown)
32
34
  remove_pid_file
33
35
  exit 0
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 7
9
- version: 0.0.7
8
+ - 9
9
+ version: 0.0.9
10
10
  platform: ruby
11
11
  authors:
12
12
  - Daniel Draper
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-07-07 00:00:00 +09:30
17
+ date: 2010-07-19 00:00:00 +09:30
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency