self.signal = None
self.process = None
self.error_count = 0
- self.last_return = None
self.running = False
def start(self):
assert self.process is None
try:
(pid, status) = os.waitpid(-1, os.WNOHANG)
except OSError, e:
- if e.errno is e.ECHILD:
+ if e.errno is errno.ECHILD:
return
raise
while pid:
if pid in self.pidmap:
p = self.pidmap[pid]
+ p.process.returncode = status
if p.callback is not None:
p.callback(self, p)
if p.dont_run or not p.persist or p.error_count >= p.max_errors: