Froze rails gems
[depot.git] / vendor / rails / activesupport / lib / active_support / core_ext / process / daemon.rb
diff --git a/vendor/rails/activesupport/lib/active_support/core_ext/process/daemon.rb b/vendor/rails/activesupport/lib/active_support/core_ext/process/daemon.rb
new file mode 100644 (file)
index 0000000..95ad5f8
--- /dev/null
@@ -0,0 +1,25 @@
+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].
+
+      unless nochdir
+        Dir.chdir "/"                  # Release old working directory.
+      end
+
+      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
+
+      trap("TERM") { exit }
+
+      return 0
+    end
+  end
+end