From 2953fb6d4f34cac57b6b1224c5e72ee65b185752 Mon Sep 17 00:00:00 2001 From: Jan Bieron Date: Mon, 18 Mar 2019 12:09:19 +0100 Subject: [PATCH] Use poll() instead of select() Fixes #2278 because poll does not have select's builtin limit of 1024 descriptors Signed-off-by: Jan Bieron --- docker/utils/socket.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docker/utils/socket.py b/docker/utils/socket.py index 7ba9505538..b3d9545f71 100644 --- a/docker/utils/socket.py +++ b/docker/utils/socket.py @@ -28,7 +28,9 @@ def read(socket, n=4096): recoverable_errors = (errno.EINTR, errno.EDEADLK, errno.EWOULDBLOCK) if six.PY3 and not isinstance(socket, NpipeSocket): - select.select([socket], [], []) + poll = select.poll() + poll.register(socket) + poll.poll() try: if hasattr(socket, 'recv'):