Parto Chobeiry added the comment: I think there is no need for print() -- it is hanging <<HERE>>:
def _eintr_retry(func, *args): """restart a system call interrupted by EINTR""" while True: try: return func(*args) <<HERE>> except OSError as e: if e.errno != errno.EINTR: raise This gets called <<HERE>>: def serve_forever(self, poll_interval=0.5): """Handle one request at a time until shutdown. Polls for shutdown every poll_interval seconds. Ignores self.timeout. If you need to do periodic tasks, do them in another thread. """ self.__is_shut_down.clear() try: while not self.__shutdown_request: # XXX: Consider using another file descriptor or # connecting to the socket to wake this up instead of # polling. Polling reduces our responsiveness to a # shutdown request and wastes cpu at all other times. r, w, e = _eintr_retry(select.select, [self], [], [], poll_interval) <<HERE>> if self in r: self._handle_request_noblock() self.service_actions() finally: self.__shutdown_request = False self.__is_shut_down.set() So, the select.select is blocking or it does not find anything to "select" on... Did I conclude that correctly? ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue21035> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com