diff options
author | luislavena <luislavena@19e92222-5c0b-0410-8929-a290d50e31e9> | 2006-02-27 00:56:59 +0000 |
---|---|---|
committer | luislavena <luislavena@19e92222-5c0b-0410-8929-a290d50e31e9> | 2006-02-27 00:56:59 +0000 |
commit | 9bb6edf113c7545411589823b0f0a5290d7558e4 (patch) | |
tree | 6173a7ae85cba915f7a1af43fefd87d56396dcf3 /bin | |
parent | e8d6936a049ae876ad161988a6eeb8a001bcb459 (diff) | |
download | unicorn-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_rails | 36 |
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 |