about summary refs log tree commit homepage
path: root/bin
diff options
context:
space:
mode:
authorluislavena <luislavena@19e92222-5c0b-0410-8929-a290d50e31e9>2006-02-27 00:56:59 +0000
committerluislavena <luislavena@19e92222-5c0b-0410-8929-a290d50e31e9>2006-02-27 00:56:59 +0000
commit9bb6edf113c7545411589823b0f0a5290d7558e4 (patch)
tree6173a7ae85cba915f7a1af43fefd87d56396dcf3 /bin
parente8d6936a049ae876ad161988a6eeb8a001bcb459 (diff)
downloadunicorn-9bb6edf113c7545411589823b0f0a5290d7558e4.tar.gz
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@62 19e92222-5c0b-0410-8929-a290d50e31e9
Diffstat (limited to 'bin')
-rw-r--r--bin/mongrel_rails36
1 files changed, 20 insertions, 16 deletions
diff --git a/bin/mongrel_rails b/bin/mongrel_rails
index 9b9ea60..9d58628 100644
--- a/bin/mongrel_rails
+++ b/bin/mongrel_rails
@@ -124,23 +124,27 @@ class StartCommand < Mongrel::Command::Command
     server.register("/", rails)
     server.run
 
-    # graceful shutdown
-    trap("TERM") {
-      server.stop
-    }
-    
-    # rails reload
-    trap("HUP") {
-      server.stop
-      @restart = true
-    }
+    # signal trapping just applies to posix systems
+    # TERM is a valid signal, but still doesn't gracefuly shutdown on win32.
+    if RUBY_PLATFORM !~ /mswin/
+      # graceful shutdown
+      trap("TERM") {
+        server.stop
+      }
+
+      # rails reload
+      trap("HUP") {
+        server.stop
+        @restart = true
+      }
+
+      # restart
+      trap("USR2") {
+        server.stop
+        @restart = true
+      }
+    end
     
-    # restart
-    trap("USR2") {
-      server.stop
-      @restart = true
-    }
-
     begin
       STDERR.puts "Server ready."
       server.acceptor.join