summaryrefslogtreecommitdiffstats
path: root/bin/ebuild-ipc.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-09-20 18:17:23 -0700
committerZac Medico <zmedico@gentoo.org>2010-09-20 18:17:23 -0700
commit21227c40c2761dab199c98bdd0f6ba5e4706332f (patch)
tree8251cfddcffd8a0ca320b235d5bcedb27f115f1d /bin/ebuild-ipc.py
parent32cef15206e24c81da75a87626c8ae5192800a03 (diff)
downloadportage-21227c40c2761dab199c98bdd0f6ba5e4706332f.tar.gz
portage-21227c40c2761dab199c98bdd0f6ba5e4706332f.tar.bz2
portage-21227c40c2761dab199c98bdd0f6ba5e4706332f.zip
Fix ebuild-ipc to correctly handle non-zero return codes from
has_version ipc calls.
Diffstat (limited to 'bin/ebuild-ipc.py')
-rwxr-xr-xbin/ebuild-ipc.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/bin/ebuild-ipc.py b/bin/ebuild-ipc.py
index ca206e959..9f6157dda 100755
--- a/bin/ebuild-ipc.py
+++ b/bin/ebuild-ipc.py
@@ -114,8 +114,7 @@ class EbuildIpc(object):
self._no_daemon_msg()
return 2
- if not (os.WIFEXITED(wait_retval[1]) and \
- os.WEXITSTATUS(wait_retval[1]) == os.EX_OK):
+ if not os.WIFEXITED(wait_retval[1]):
portage.util.writemsg_level(
"ebuild-ipc: %s: %s\n" % (msg,
portage.localization._('subprocess failure: %s') % \
@@ -123,7 +122,7 @@ class EbuildIpc(object):
level=logging.ERROR, noiselevel=-1)
return 2
- return os.EX_OK
+ return os.WEXITSTATUS(wait_retval[1])
def _receive_reply(self):
@@ -195,8 +194,13 @@ class EbuildIpc(object):
output_file.close()
os._exit(os.EX_OK)
- retval = self._wait(pid, portage.localization._('during write'))
+ msg = portage.localization._('during write')
+ retval = self._wait(pid, msg)
if retval != os.EX_OK:
+ portage.util.writemsg_level(
+ "ebuild-ipc: %s: %s\n" % (msg,
+ portage.localization._('subprocess failure: %s') % \
+ wait_retval[1]), level=logging.ERROR, noiselevel=-1)
return retval
if not self._daemon_is_alive():