'Handle one request, possibly blocking.'

def handle_request(self, poll_interval=0.5):

    fd_sets = select.select([self], [], [], poll_interval)
    if (not fd_sets[0]):
        self.server_close()
        self.__shutdown_request = True
        return
    try:
        (request, client_address) = self.get_request()
    except socket.error:
        return
    if self.verify_request(request, client_address):
        try:
            self.process_request(request, client_address)
        except Exception:
            self.handle_error(request, client_address)
            self.close_request(request)
