diff options
| author | 2008-01-24 11:36:41 +0100 | |
|---|---|---|
| committer | 2008-01-24 11:36:41 +0100 | |
| commit | 21a61340bbd7678da9d7b6dc3f7a261baa0dc3d2 (patch) | |
| tree | 0e1163f692efb7e26c8a410a1251209327523728 | |
| parent | fa2bc6ec93503ec83d4cc71c53d0df38c7a3e86a (diff) | |
don't fail on missing child processes
| -rwxr-xr-x | mini-dinstall | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/mini-dinstall b/mini-dinstall index e3a3745..5b6bab1 100755 --- a/mini-dinstall +++ b/mini-dinstall @@ -1143,7 +1143,12 @@ class ArchiveDirIndexer(threading.Thread): raise DinstallException("%ssum returned error output \"%s\"" % (type, erroutput,)) (sum, filename) = string.split(child.fromchild.read(), None, 1) child.fromchild.close() - status = child.wait() + try: + status = child.wait() + except OSError, (errno, strerror): + if errno == errno.ECHILD: + status = None + self._logger.info("OSError(%d): %s" % (errno, strerror)) if not (status is None or (os.WIFEXITED(status) and os.WEXITSTATUS(status) == 0)): if os.WIFEXITED(status): msg = "%ssum exited with error code %d" % (type, os.WEXITSTATUS(status),) |
