Message214608
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? |
|
Date |
User |
Action |
Args |
2014-03-23 16:58:12 | chobeiry | set | recipients:
+ chobeiry, ronaldoussoren, pitrou, ned.deily |
2014-03-23 16:58:12 | chobeiry | set | messageid: <1395593892.41.0.177256020855.issue21035@psf.upfronthosting.co.za> |
2014-03-23 16:58:12 | chobeiry | link | issue21035 messages |
2014-03-23 16:58:12 | chobeiry | create | |
|