# File lib/redis/connection/ruby.rb, line 104
      def _write_to_socket(data)
        begin
          write_nonblock(data)

        rescue *NBIO_WRITE_EXCEPTIONS
          if IO.select(nil, [self], nil, @write_timeout)
            retry
          else
            raise Redis::TimeoutError
          end
        rescue *NBIO_READ_EXCEPTIONS
          if IO.select([self], nil, nil, @write_timeout)
            retry
          else
            raise Redis::TimeoutError
          end
        end

      rescue EOFError
        raise Errno::ECONNRESET
      end