diff options
Diffstat (limited to 'Lib/asyncore.py')
| -rw-r--r-- | Lib/asyncore.py | 39 | 
1 files changed, 8 insertions, 31 deletions
| diff --git a/Lib/asyncore.py b/Lib/asyncore.py index 00a6396dd4..3b51f0f337 100644 --- a/Lib/asyncore.py +++ b/Lib/asyncore.py @@ -57,8 +57,8 @@ from errno import EALREADY, EINPROGRESS, EWOULDBLOCK, ECONNRESET, EINVAL, \       ENOTCONN, ESHUTDOWN, EISCONN, EBADF, ECONNABORTED, EPIPE, EAGAIN, \       errorcode -_DISCONNECTED = frozenset((ECONNRESET, ENOTCONN, ESHUTDOWN, ECONNABORTED, EPIPE, -                           EBADF)) +_DISCONNECTED = frozenset({ECONNRESET, ENOTCONN, ESHUTDOWN, ECONNABORTED, EPIPE, +                           EBADF})  try:      socket_map @@ -141,10 +141,7 @@ def poll(timeout=0.0, map=None):              time.sleep(timeout)              return -        try: -            r, w, e = select.select(r, w, e, timeout) -        except InterruptedError: -            return +        r, w, e = select.select(r, w, e, timeout)          for fd in r:              obj = map.get(fd) @@ -182,10 +179,8 @@ def poll2(timeout=0.0, map=None):                  flags |= select.POLLOUT              if flags:                  pollster.register(fd, flags) -        try: -            r = pollster.poll(timeout) -        except InterruptedError: -            r = [] + +        r = pollster.poll(timeout)          for fd, flags in r:              obj = map.get(fd)              if obj is None: @@ -220,7 +215,7 @@ class dispatcher:      connecting = False      closing = False      addr = None -    ignore_log_types = frozenset(['warning']) +    ignore_log_types = frozenset({'warning'})      def __init__(self, sock=None, map=None):          if map is None: @@ -255,7 +250,7 @@ class dispatcher:              self.socket = None      def __repr__(self): -        status = [self.__class__.__module__+"."+self.__class__.__name__] +        status = [self.__class__.__module__+"."+self.__class__.__qualname__]          if self.accepting and self.addr:              status.append('listening')          elif self.connected: @@ -404,20 +399,6 @@ class dispatcher:                  if why.args[0] not in (ENOTCONN, EBADF):                      raise -    # cheap inheritance, used to pass all other attribute -    # references to the underlying socket object. -    def __getattr__(self, attr): -        try: -            retattr = getattr(self.socket, attr) -        except AttributeError: -            raise AttributeError("%s instance has no attribute '%s'" -                                 %(self.__class__.__name__, attr)) -        else: -            msg = "%(me)s.%(attr)s is deprecated; use %(me)s.socket.%(attr)s " \ -                  "instead" % {'me' : self.__class__.__name__, 'attr' : attr} -            warnings.warn(msg, DeprecationWarning, stacklevel=2) -            return retattr -      # log and log_info may be overridden to provide more sophisticated      # logging and warning methods. In general, log is for 'hit' logging      # and 'log_info' is for informational, warning and error logging. @@ -604,8 +585,6 @@ def close_all(map=None, ignore_all=False):  # Regardless, this is useful for pipes, and stdin/stdout...  if os.name == 'posix': -    import fcntl -      class file_wrapper:          # Here we override just enough to make a file          # look like a socket for the purposes of asyncore. @@ -656,9 +635,7 @@ if os.name == 'posix':                  pass              self.set_file(fd)              # set it to non-blocking mode -            flags = fcntl.fcntl(fd, fcntl.F_GETFL, 0) -            flags = flags | os.O_NONBLOCK -            fcntl.fcntl(fd, fcntl.F_SETFL, flags) +            os.set_blocking(fd, False)          def set_file(self, fd):              self.socket = file_wrapper(fd) | 
