'Listen on the socket, and then loop forever accepting and handling
connections.'

def listen_and_loop(self):

    self.socket.settimeout(1)
    self.socket.listen(self.request_queue_size)
    self.requests.start()
    self.ready = True
    while self.ready:
        self.tick()
        if self.interrupt:
            while (self.interrupt is True):
                time.sleep(0.1)
            if self.interrupt:
                raise self.interrupt
