Switch `connect_ex` result checks to use `errno` lookups (#289)

* Switch connect_ex result checks to errno lookups

* Return errno strings, clean up comment
This commit is contained in:
Drew Noel 2024-08-26 16:38:44 -04:00 committed by GitHub
parent a6f02ae8e8
commit 7752023dc2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 3 additions and 2 deletions

View File

@ -21,6 +21,7 @@
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
"""
import errno
import multiprocessing
import os
import queue
@ -442,10 +443,10 @@ class DHEat:
# out.d("Creating socket (%u of %u already exist)..." % (len(socket_dict), concurrent_sockets), write_now=True)
ret = s.connect_ex((target_ip_address, aconf.port))
num_attempted_connections += 1
if ret in [0, 115]: # Check if connection is successful or EINPROGRESS.
if ret in [0, errno.EINPROGRESS]:
socket_dict[s] = now
else:
out.d("connect_ex() returned: %d" % ret, write_now=True)
out.d("connect_ex() returned: %s (%d)" % (os.strerror(ret), ret), write_now=True)
# out.d("Calling select() on %u sockets..." % len(socket_dict), write_now=True)
socket_list: List[socket.socket] = [*socket_dict] # Get a list of sockets from the dictionary.