diff options
author | Eric Wong <normalperson@yhbt.net> | 2012-11-29 21:48:31 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2012-11-29 23:00:15 +0000 |
commit | 90db7b14eab449da8cef4ef22ab76ae00f654361 (patch) | |
tree | 17b574022aae475b6f2373482026b238f43f1288 /lib/unicorn | |
parent | 5c700fc2cf398848ddcf71a2aa3f0f2a6563e87b (diff) | |
download | unicorn-90db7b14eab449da8cef4ef22ab76ae00f654361.tar.gz |
In my testing, only dropped clients over Unix domain sockets or loopback TCP were detected with this option. Since many nginx+unicorn combinations run on the same host, this is not a problem. Furthermore, tcp_nodelay:true appears to work over loopback, so remove the requirement for tcp_nodelay:false.
Diffstat (limited to 'lib/unicorn')
-rw-r--r-- | lib/unicorn/configurator.rb | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/unicorn/configurator.rb b/lib/unicorn/configurator.rb index 9752cdd..7651093 100644 --- a/lib/unicorn/configurator.rb +++ b/lib/unicorn/configurator.rb @@ -103,10 +103,6 @@ class Unicorn::Configurator raise ArgumentError, "check_client_connection is incompatible with tcp_nopush:true" end - if set[:listener_opts][address][:tcp_nodelay] == true - raise ArgumentError, - "check_client_connection is incompatible with tcp_nodelay:true" - end end end set.each do |key, value| @@ -473,8 +469,11 @@ class Unicorn::Configurator # This will prevent calling the application for clients who have # disconnected while their connection was queued. # - # This option cannot be used in conjunction with tcp_nodelay or - # tcp_nopush. + # This only affects clients connecting over Unix domain sockets + # and TCP via loopback (127.*.*.*). It is unlikely to detect + # disconnects if the client is on a remote host (even on a fast LAN). + # + # This option cannot be used in conjunction with :tcp_nopush. def check_client_connection(bool) set_bool(:check_client_connection, bool) end |