about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2013-11-07 05:13:59 +0000
committerEric Wong <e@80x24.org>2013-11-07 05:13:59 +0000
commita79a6d8775171ad5cceda9bb3a77946ba60e26ce (patch)
tree8a850fd32b3c644c01a34803fc4379aa2fcb1199
parent9ec392b437900842a799894194f6b4c2155e604e (diff)
downloadyahns-a79a6d8775171ad5cceda9bb3a77946ba60e26ce.tar.gz
If worker_processes are not enabled, our SIGCHLD handler may
conflict with one installed by the application.  Fortunately it is
uncommon in Ruby web apps to rely on SIGCHLD, but it happens and
that is bad.
-rw-r--r--Documentation/yahns_config.txt6
1 files changed, 6 insertions, 0 deletions
diff --git a/Documentation/yahns_config.txt b/Documentation/yahns_config.txt
index 2505907..45bcfd9 100644
--- a/Documentation/yahns_config.txt
+++ b/Documentation/yahns_config.txt
@@ -495,6 +495,12 @@ Ruby it is running under.
     pthread_atfork(3)-style hooks.  See WORKER_PROCESSES-LEVEL DIRECTIVES
     for details.
 
+    Using worker_processes is strongly recommended if your application
+    relies on using a SIGCHLD handler for reaping forked processes.
+    Without worker_processes, yahns must reserve SIGCHLD for rolling
+    back SIGUSR2 upgrades, leading to conflicts if the appplication
+    expects to handle SIGCHLD.
+
     Default: nil (single process, no master/worker separation)
 
 ## WORKER_PROCESSES-LEVEL DIRECTIVES