code: def handle_connection_repl(client):
      
      client.settimeout(None)
      # # disable this till we have evidence that it's needed
      # client.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 0)
      # # Note: setting SO_RCVBUF on UDS has no effect, see: http://man7.org/linux/man-pages/man7/unix.7.html
  
      backup = []
      old_interval = getinterval()
      patches = [('r', ('stdin', '__stdin__')), ('w', ('stdout', '__stdout__'))]
      if _MANHOLE.redirect_stderr:
          patches.append(('w', ('stderr', '__stderr__')))
      try:
          client_fd = client.fileno()
          for mode, names in patches:
              for name in names:
                  backup.append((name, getattr(sys, name)))
                  setattr(sys, name, _ORIGINAL_FDOPEN(client_fd, mode, 1 if PY3 else 0))
          try:
              handle_repl(_MANHOLE.locals)
          except Exception as exc:
              _LOG("REPL failed with %r." % exc)
          _LOG("DONE.")
      finally:
          try:
              # Change the switch/check interval to something ridiculous. We don't want to have other thread try
              # to write to the redirected sys.__std*/sys.std* - it would fail horribly.
              setinterval(2147483647)
              try:
                  client.close()  # close before it's too late. it may already be dead
              except IOError:
                  pass
              junk = []  # keep the old file objects alive for a bit
              for name, fh in backup:
                  junk.append(getattr(sys, name))
                  setattr(sys, name, fh)
              del backup
              for fh in junk:
                  try:
                      if hasattr(fh, 'detach'):
                          fh.detach()
                      else:
                          fh.close()
                  except IOError:
                      pass
                  del fh
              del junk
          finally:
              setinterval(old_interval)
              _LOG("Cleaned up.")
docs: Handles connection.