diff options
author | Eric Wong <e@80x24.org> | 2013-11-10 21:04:07 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2013-11-10 21:15:48 +0000 |
commit | 99f967601976628eb6b87f19da9d2cb5e120f7f8 (patch) | |
tree | d1039b2dea630790233a505b95c631bc571fe995 | |
parent | 0258cd5dd91241931cca08048ab0a2067e323ee6 (diff) | |
download | yahns-99f967601976628eb6b87f19da9d2cb5e120f7f8.tar.gz |
Following our own advice in commit a79a6d8775171ad5cceda9bb3a77946ba60e26ce (doc: recommend worker_processes if the app uses SIGCHLD)
-rw-r--r-- | extras/exec_cgi.rb | 3 | ||||
-rw-r--r-- | test/test_extras_exec_cgi.rb | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/extras/exec_cgi.rb b/extras/exec_cgi.rb index c18c758..89fc9b4 100644 --- a/extras/exec_cgi.rb +++ b/extras/exec_cgi.rb @@ -1,6 +1,9 @@ # -*- encoding: binary -*- # Copyright (C) 2013, Eric Wong <normalperson@yhbt.net> and all contributors # License: GPLv2 or later (https://www.gnu.org/licenses/gpl-2.0.txt) +# +# if running under yahns, worker_processes is recommended to avoid conflicting +# with the SIGCHLD handler in yahns. class ExecCgi class MyIO < Kgio::Pipe attr_writer :my_pid diff --git a/test/test_extras_exec_cgi.rb b/test/test_extras_exec_cgi.rb index 4e1f5b3..c5c190d 100644 --- a/test/test_extras_exec_cgi.rb +++ b/test/test_extras_exec_cgi.rb @@ -2,6 +2,8 @@ # License: GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.txt) require_relative 'server_helper' +# note: we use worker_processes to avoid polling/excessive wakeup issues +# in the test. We recommend using worker_processes if using ExecCgi class TestExtrasExecCGI < Testcase ENV["N"].to_i > 1 and parallelize_me! include ServerHelper @@ -17,6 +19,7 @@ class TestExtrasExecCGI < Testcase cfg.instance_eval do app(:rack, ExecCgi.new(RUNME)) { listen "#{host}:#{port}" } stderr_path err.path + worker_processes 1 end end @@ -95,6 +98,7 @@ class TestExtrasExecCGI < Testcase cfg.instance_eval do app(:rack, ExecCgi.new(RUNME)) { listen "#{host}:#{port}" } stderr_path err.path + worker_processes 1 end end exec_pid_tmp = tmpfile(%w(exec_cgi .pid)) @@ -131,6 +135,7 @@ class TestExtrasExecCGI < Testcase cfg.instance_eval do app(:rack, ExecCgi.new(RUNME)) { listen "#{host}:#{port}" } stderr_path err.path + worker_processes 1 end end |