about summary refs log tree commit homepage
path: root/SIGNALS
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-10-05 22:56:52 -0700
committerEric Wong <normalperson@yhbt.net>2009-10-05 22:56:52 -0700
commitc9cb89612517c433b41c77de63f72a8e5c308a1b (patch)
tree74afb4610d7f2883fa7a8f1371370bcbc70aadce /SIGNALS
parentab8f1c63c8e0ba0a34526989fa2a17835e895a1a (diff)
downloadrainbows-c9cb89612517c433b41c77de63f72a8e5c308a1b.tar.gz
Mainly need to note the unfortunate minor difference in log
reopening semantics.
Diffstat (limited to 'SIGNALS')
-rw-r--r--SIGNALS18
1 files changed, 11 insertions, 7 deletions
diff --git a/SIGNALS b/SIGNALS
index 84f6bb4..14f2184 100644
--- a/SIGNALS
+++ b/SIGNALS
@@ -2,7 +2,10 @@
 
 In general, signals need only be sent to the master process.  However,
 the signals Rainbows! uses internally to communicate with the worker
-processes are documented here as well.
+processes are documented here as well.  With the exception of TTIN/TTOU,
+signal handling matches the behavior of and {nginx}[http://nginx.net/]
+so it should be possible to easily share process management scripts
+between \Rainbows!, Unicorn and nginx.
 
 === Master Process
 
@@ -43,16 +46,17 @@ automatically respawned.
 
 * USR1 - Reopen all logs owned by the worker process.
   See Unicorn::Util.reopen_logs for what is considered a log.
-  Log files are not reopened until it is done processing
-  the current request, so multiple log lines for one request
-  (as done by Rails) will not be split across multiple logs.
+  Unlike Unicorn, log files are reopened immediately in \Rainbows!
+  since worker processes are likely to be serving multiple clients
+  simutaneously, we can't wait for all of them to finish.
 
 === Procedure to replace a running rainbows executable
 
-You may replace a running instance of unicorn with a new one without
+You may replace a running instance of rainbows with a new one without
 losing any incoming connections.  Doing so will reload all of your
-application code, Unicorn config, Ruby executable, and all libraries.
-The only things that will not change (due to OS limitations) are:
+application code, Unicorn/Rainbows! config, Ruby executable, and all
+libraries.  The only things that will not change (due to OS limitations)
+are:
 
 1. The path to the rainbows executable script.  If you want to change to
    a different installation of Ruby, you can modify the shebang