about summary refs log tree commit homepage
path: root/lib/unicorn/socket_helper.rb
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2015-02-05 17:17:42 +0000
committerEric Wong <e@80x24.org>2015-02-05 17:20:45 +0000
commit682c9ffa365a2cf5439845be6e0e693d352cfe94 (patch)
treec0389bed923f7a352c8bad710ab9d164b25c9f50 /lib/unicorn/socket_helper.rb
parent28bb0e47541e49f36b96725732f7a7ae260bd5e9 (diff)
downloadunicorn-682c9ffa365a2cf5439845be6e0e693d352cfe94.tar.gz
remove 1.8, <= 1.9.1 fallback for missing IO#autoclose=
We're requiring Ruby 1.9.3+, so we can safely depend
on IO#autoclose= being available in 1.9+ and shave off
some bloat.
Diffstat (limited to 'lib/unicorn/socket_helper.rb')
-rw-r--r--lib/unicorn/socket_helper.rb14
1 files changed, 1 insertions, 13 deletions
diff --git a/lib/unicorn/socket_helper.rb b/lib/unicorn/socket_helper.rb
index 2ecf438..a4247ac 100644
--- a/lib/unicorn/socket_helper.rb
+++ b/lib/unicorn/socket_helper.rb
@@ -5,10 +5,6 @@ require 'socket'
 module Unicorn
   module SocketHelper
 
-    # prevents IO objects in here from being GC-ed
-    # kill this when we drop 1.8 support
-    IO_PURGATORY = []
-
     # internal interface, only used by Rainbows!/Zbatery
     DEFAULTS = {
       # The semantics for TCP_DEFER_ACCEPT changed in Linux 2.6.32+
@@ -36,14 +32,6 @@ module Unicorn
       [ af_name, nil ].pack('a16a240')
     end if RUBY_PLATFORM =~ /freebsd/ && Socket.const_defined?(:SO_ACCEPTFILTER)
 
-    def prevent_autoclose(io)
-      if io.respond_to?(:autoclose=)
-        io.autoclose = false
-      else
-        IO_PURGATORY << io
-      end
-    end
-
     def set_tcp_sockopt(sock, opt)
       # just in case, even LANs can break sometimes.  Linux sysadmins
       # can lower net.ipv4.tcp_keepalive_* sysctl knobs to very low values.
@@ -161,7 +149,7 @@ module Unicorn
         sock.setsockopt(:SOL_SOCKET, :SO_REUSEPORT, 1)
       end
       sock.bind(Socket.pack_sockaddr_in(port, addr))
-      prevent_autoclose(sock)
+      sock.autoclose = false
       Kgio::TCPServer.for_fd(sock.fileno)
     end