IOError: [Errno 4] Interrupted system call
Donn Cave
donn at u.washington.edu
Wed Feb 7 13:05:36 EST 2007
In article <mailman.3636.1170810543.32031.python-list at python.org>,
Marco <marco at waven.com> wrote:
> Hello,every one, I meet a question:
>
> in my old script, I usually use os.popen2() to get info from standard
> unix(LinuX) program like ps,ifconfig...
>
> Now, I write a OO-based programme, I still use os.popen2( check
> whether mplayer still working via ps command ), but some things I got
> the following message:
>
> Traceback (most recent call last):
> File "./mkt.py", line 351, in loop_timeout
> self.process(self.event.get_next())
> File "./mkt.py", line 361, in process
> self.player.play(command[1])
> File "./mkt.py", line 107, in play
> if self.is_playing():
> File "./mkt.py", line 78, in is_playing
> info = rfd.readlines()
> IOError: [Errno 4] Interrupted system call
>
> why? Thank you!
Some signal was evidently delivered to your process, while
you had a "slow" read in progress (i.e., not from disk.)
The read was interrupted to deliver the signal.
Look for signal handlers in your code and any library functions
you call. I hope library functions don't have signal handlers,
sounds like a horrible idea to me. If your code has a signal
handler for SIGCHLD, try to get rid of that - the handler itself
is causing your problem.
OO (Object Oriented?) doesn't have anything to do with the problem,
that I can think of.
Donn Cave, donn at u.washington.edu
More information about the Python-list
mailing list