Froze rails gems
[depot.git] / vendor / rails / activesupport / lib / active_support / core_ext / process / daemon.rb
1 if RUBY_VERSION < "1.9"
2 module Process
3 def self.daemon(nochdir = nil, noclose = nil)
4 exit if fork # Parent exits, child continues.
5 Process.setsid # Become session leader.
6 exit if fork # Zap session leader. See [1].
7
8 unless nochdir
9 Dir.chdir "/" # Release old working directory.
10 end
11
12 File.umask 0000 # Ensure sensible umask. Adjust as needed.
13
14 unless noclose
15 STDIN.reopen "/dev/null" # Free file descriptors and
16 STDOUT.reopen "/dev/null", "a" # point them somewhere sensible.
17 STDERR.reopen '/dev/null', 'a'
18 end
19
20 trap("TERM") { exit }
21
22 return 0
23 end
24 end
25 end