From: Ben Darnell Date: Sun, 8 Apr 2018 16:41:15 +0000 (-0400) Subject: caresresolver: Use non-deprecated interfaces X-Git-Tag: v5.1.0b1~30^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8e758ec2400f23420bbcb01dafdf1df7e1b1a01d;p=thirdparty%2Ftornado.git caresresolver: Use non-deprecated interfaces This code is currently not exercised in CI. --- diff --git a/tornado/platform/caresresolver.py b/tornado/platform/caresresolver.py index 38247f7e6..768cb6249 100644 --- a/tornado/platform/caresresolver.py +++ b/tornado/platform/caresresolver.py @@ -2,6 +2,7 @@ from __future__ import absolute_import, division, print_function import pycares # type: ignore import socket +from tornado.concurrent import Future from tornado import gen from tornado.ioloop import IOLoop from tornado.netutil import Resolver, is_valid_ip @@ -55,11 +56,10 @@ class CaresResolver(Resolver): addresses = [host] else: # gethostbyname doesn't take callback as a kwarg - self.channel.gethostbyname(host, family, (yield gen.Callback(1))) - callback_args = yield gen.Wait(1) - assert isinstance(callback_args, gen.Arguments) - assert not callback_args.kwargs - result, error = callback_args.args + fut = Future() + self.channel.gethostbyname(host, family, + lambda result, error: fut.set_result((result, error))) + result, error = yield fut if error: raise IOError('C-Ares returned error %s: %s while resolving %s' % (error, pycares.errno.strerror(error), host))