dyoder-hive 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,8 @@
1
1
  require 'rubygems'
2
2
  require 'facets/duration' unless 1.respond_to? :minute
3
3
 
4
+ require 'hive/worker'
5
+
4
6
  module Hive
5
7
 
6
8
  class Scheduler < Hive::Worker
data/lib/hive/worker.rb CHANGED
@@ -56,6 +56,17 @@ module Hive
56
56
 
57
57
  def daemonize
58
58
  pwd = Dir.pwd ; pid = fork ; return pid if pid ; Dir.chdir( pwd )
59
+ # Make sure all file descriptors are closed
60
+ ObjectSpace.each_object(IO) do |io|
61
+ unless [STDIN, STDOUT, STDERR].include?(io)
62
+ begin
63
+ unless io.closed?
64
+ io.close
65
+ end
66
+ rescue ::Exception
67
+ end
68
+ end
69
+ end
59
70
  File.umask 0000 ; STDIN.reopen( '/dev/null') ;
60
71
  STDOUT.reopen( '/dev/null', 'a' ) ; STDERR.reopen( STDOUT )
61
72
  nil # return nil for child process, just like fork does
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dyoder-hive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Yoder
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-08 00:00:00 -07:00
12
+ date: 2009-06-11 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency