diff options
| -rw-r--r-- | platform_utils.py | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/platform_utils.py b/platform_utils.py index 20c00334..06ef9b18 100644 --- a/platform_utils.py +++ b/platform_utils.py | |||
| @@ -90,11 +90,6 @@ class _FileDescriptorStreamsNonBlocking(FileDescriptorStreams): | |||
| 90 | """ Implementation of FileDescriptorStreams for platforms that support | 90 | """ Implementation of FileDescriptorStreams for platforms that support |
| 91 | non blocking I/O. | 91 | non blocking I/O. |
| 92 | """ | 92 | """ |
| 93 | def __init__(self): | ||
| 94 | super(_FileDescriptorStreamsNonBlocking, self).__init__() | ||
| 95 | self._poll = select.poll() | ||
| 96 | self._fd_to_stream = {} | ||
| 97 | |||
| 98 | class Stream(object): | 93 | class Stream(object): |
| 99 | """ Encapsulates a file descriptor """ | 94 | """ Encapsulates a file descriptor """ |
| 100 | def __init__(self, fd, dest, std_name): | 95 | def __init__(self, fd, dest, std_name): |
| @@ -118,18 +113,11 @@ class _FileDescriptorStreamsNonBlocking(FileDescriptorStreams): | |||
| 118 | self.fd.close() | 113 | self.fd.close() |
| 119 | 114 | ||
| 120 | def _create_stream(self, fd, dest, std_name): | 115 | def _create_stream(self, fd, dest, std_name): |
| 121 | stream = self.Stream(fd, dest, std_name) | 116 | return self.Stream(fd, dest, std_name) |
| 122 | self._fd_to_stream[stream.fileno()] = stream | ||
| 123 | self._poll.register(stream, select.POLLIN) | ||
| 124 | return stream | ||
| 125 | |||
| 126 | def remove(self, stream): | ||
| 127 | self._poll.unregister(stream) | ||
| 128 | del self._fd_to_stream[stream.fileno()] | ||
| 129 | super(_FileDescriptorStreamsNonBlocking, self).remove(stream) | ||
| 130 | 117 | ||
| 131 | def select(self): | 118 | def select(self): |
| 132 | return [self._fd_to_stream[fd] for fd, _ in self._poll.poll()] | 119 | ready_streams, _, _ = select.select(self.streams, [], []) |
| 120 | return ready_streams | ||
| 133 | 121 | ||
| 134 | 122 | ||
| 135 | class _FileDescriptorStreamsThreads(FileDescriptorStreams): | 123 | class _FileDescriptorStreamsThreads(FileDescriptorStreams): |
