diff options
Diffstat (limited to 'activesupport/lib/active_support/core_ext/process/daemon.rb')
-rw-r--r-- | activesupport/lib/active_support/core_ext/process/daemon.rb | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/activesupport/lib/active_support/core_ext/process/daemon.rb b/activesupport/lib/active_support/core_ext/process/daemon.rb index 95ad5f8a5d..f5202ddee4 100644 --- a/activesupport/lib/active_support/core_ext/process/daemon.rb +++ b/activesupport/lib/active_support/core_ext/process/daemon.rb @@ -1,25 +1,23 @@ -if RUBY_VERSION < "1.9" - module Process - def self.daemon(nochdir = nil, noclose = nil) - exit if fork # Parent exits, child continues. - Process.setsid # Become session leader. - exit if fork # Zap session leader. See [1]. +module Process + def self.daemon(nochdir = nil, noclose = nil) + exit if fork # Parent exits, child continues. + Process.setsid # Become session leader. + exit if fork # Zap session leader. See [1]. - unless nochdir - Dir.chdir "/" # Release old working directory. - end + unless nochdir + Dir.chdir "/" # Release old working directory. + end - File.umask 0000 # Ensure sensible umask. Adjust as needed. + File.umask 0000 # Ensure sensible umask. Adjust as needed. - unless noclose - STDIN.reopen "/dev/null" # Free file descriptors and - STDOUT.reopen "/dev/null", "a" # point them somewhere sensible. - STDERR.reopen '/dev/null', 'a' - end + unless noclose + STDIN.reopen "/dev/null" # Free file descriptors and + STDOUT.reopen "/dev/null", "a" # point them somewhere sensible. + STDERR.reopen '/dev/null', 'a' + end - trap("TERM") { exit } + trap("TERM") { exit } - return 0 - end - end + return 0 + end unless respond_to?(:daemon) end |