From: Dirk M. <dm...@tz...> - 2003-09-26 10:00:49
|
ou...@us... wrote: > Update of /cvsroot/freevo/freevo/src > In directory sc8-pr-cvs1:/tmp/cvs-serv22240/src > > Modified Files: > childapp.py > Log Message: > It's still killing processes if they don't respond immmediately. I've > realized that this mostly happens with high-bitrate MP3s, of which I have > many. > > data = self.fp.readline(300) > if not data: > ! time.sleep(1) # Wait longer and try again > ! data = self.fp.readline(300) > ! if not data: > ! _debug_('%s: No data, stopping (pid %s)!' % (self.name, os.getpid()),2) > ! self.fp.close() > ! break > else: > data = data.replace('\r', '\n') That is _very_ strange. readline() should return nothing when the fd is closed. So waiting and trying again shouldn't help. Did you try: if not data: time.sleep(1) # Wait longer and try again data = self.fp.readline(300) if not data: _debug_('%s: No data, stopping (pid %s)!' % (self.name, os.getpid()),2) self.fp.close() break else _debug_('STILL ALIVE, STRANGE....') You should never see the last line, so your patch shouldn't solve any problem. Very strange.... BTW, you won: it makes no sense if you switch all _debug_ to level 2. I just made DEBUG==level, so let us switch some debugs back to 1 please. Dischi -- Windows 3.1 - The best $89 solitaire game you can buy. |