about summary refs log tree commit homepage
path: root/lib/unicorn.rb
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-07-09 01:47:46 -0700
committerEric Wong <normalperson@yhbt.net>2009-07-09 01:48:48 -0700
commitab4fc790099a1f46c61c8cc294c1371699abfde6 (patch)
tree9c94e9db13652ba71aa4b20d4b7cca7b46ffb930 /lib/unicorn.rb
parentec70433f84664af0dff1336845ddd51f50a714a3 (diff)
parentf3d7ea324c893ba9d8787afbaa9d2e55fcae0133 (diff)
downloadunicorn-ab4fc790099a1f46c61c8cc294c1371699abfde6.tar.gz
* maint:
  unicorn 0.8.2
  always set FD_CLOEXEC on sockets post-accept()
  Minor cleanups to core
  Re-add support for non-portable socket options
  Retry listen() on EADDRINUSE 5 times ever 500ms
  Unbind listeners as before stopping workers

Conflicts:
	CHANGELOG
	lib/unicorn.rb
	lib/unicorn/configurator.rb
	lib/unicorn/const.rb
Diffstat (limited to 'lib/unicorn.rb')
-rw-r--r--lib/unicorn.rb1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/unicorn.rb b/lib/unicorn.rb
index dac0b4f..eb11f4d 100644
--- a/lib/unicorn.rb
+++ b/lib/unicorn.rb
@@ -444,6 +444,7 @@ module Unicorn
     # once a client is accepted, it is processed in its entirety here
     # in 3 easy steps: read request, call app, write app response
     def process_client(client)
+      client.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC)
       response = app.call(env = REQUEST.read(client))
 
       if 100 == response.first.to_i