From 21227c40c2761dab199c98bdd0f6ba5e4706332f Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 20 Sep 2010 18:17:23 -0700 Subject: Fix ebuild-ipc to correctly handle non-zero return codes from has_version ipc calls. --- bin/ebuild-ipc.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'bin/ebuild-ipc.py') 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(): -- cgit v1.2.3-1-g7c22