# File lib/puma/server.rb, line 606
    def graceful_shutdown
      if @options[:drain_on_shutdown]
        count = 0

        while true
          ios = IO.select @binder.ios, nil, nil, 0
          break unless ios

          ios.first.each do |sock|
            begin
              if io = sock.accept_nonblock
                count += 1
                c = Client.new io, @binder.env(sock)
                @thread_pool << c
              end
            rescue SystemCallError
            end
          end
        end

        @events.debug "Drained #{count} additional connections."
      end

      @thread_pool.shutdown if @thread_pool
    end