From: Brian Wellington Date: Wed, 20 May 2020 23:48:04 +0000 (-0700) Subject: Simplify dns.query._connect(). X-Git-Tag: v2.0.0rc1~177^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=94dbee316f63702c5097e376a8b4fe7f9e5dd3bf;p=thirdparty%2Fdnspython.git Simplify dns.query._connect(). --- diff --git a/dns/query.py b/dns/query.py index de5c300b..080a66dd 100644 --- a/dns/query.py +++ b/dns/query.py @@ -590,21 +590,14 @@ def receive_tcp(sock, expiration=None, one_rr_per_rrset=False, return (r, received_time) def _connect(s, address, expiration): - try: - s.connect(address) - except socket.error: - (ty, v) = sys.exc_info()[:2] - - if hasattr(v, 'errno'): - v_err = v.errno - else: - v_err = v[0] - if v_err not in [errno.EINPROGRESS, errno.EWOULDBLOCK, errno.EALREADY]: - raise v + err = s.connect_ex(address) + if err == 0: + return + if err in (errno.EINPROGRESS, errno.EWOULDBLOCK, errno.EALREADY): _wait_for_writable(s, expiration) err = s.getsockopt(socket.SOL_SOCKET, socket.SO_ERROR) - if err != 0: - raise OSError(err, os.strerror(err)) from None + if err != 0: + raise OSError(err, os.strerror(err)) def tcp(q, where, timeout=None, port=53, af=None, source=None, source_port=0,