SubProcess: fix status for _set_returncode caller
authorZac Medico <zmedico@gentoo.org>
Thu, 9 Jun 2011 18:19:38 +0000 (11:19 -0700)
committerZac Medico <zmedico@gentoo.org>
Thu, 9 Jun 2011 18:19:38 +0000 (11:19 -0700)
These callers don't intend to make WIFSIGNALED return True, so they
need to shift their codes 8 bits to the left. This ensures that
commit 88f5bf84e2fd23125910b2ecaffc035971445696 behaves as intended.

pym/_emerge/AbstractEbuildProcess.py
pym/_emerge/BinpkgFetcher.py
pym/_emerge/EbuildFetcher.py
pym/_emerge/EbuildMetadataPhase.py
pym/_emerge/SubProcess.py

index 4348788874b838a9e2a671dfbd64411249d851f8..0d1d991d49db5c8fa201320c84ec4e0b008811bf 100644 (file)
@@ -57,7 +57,7 @@ class AbstractEbuildProcess(SpawnProcess):
                        "since PORTAGE_BUILDIR does not exist: '%s'") % \
                        (self.phase, self.settings['PORTAGE_BUILDDIR'])
                        self._eerror(textwrap.wrap(msg, 72))
-                       self._set_returncode((self.pid, 1))
+                       self._set_returncode((self.pid, 1 << 8))
                        self.wait()
                        return
 
index 12544d1bed5c67633b66fb1c0203db0a9fc294cf..6c1dde93ee7e44292653f6297f4cef800ebfa9ed 100644 (file)
@@ -65,7 +65,7 @@ class BinpkgFetcher(SpawnProcess):
 
                if pretend:
                        portage.writemsg_stdout("\n%s\n" % uri, noiselevel=-1)
-                       self._set_returncode((self.pid, os.EX_OK))
+                       self._set_returncode((self.pid, os.EX_OK << 8))
                        self.wait()
                        return
 
index 0ea8dc7752ca6da58d68881e538900eeb5ec2c24..c9a107dacf59f69dd19584054827518374bc04ca 100644 (file)
@@ -38,13 +38,13 @@ class EbuildFetcher(SpawnProcess):
                                (self.pkg.cpv, e)
                        msg_lines.append(msg)
                        self._eerror(msg_lines)
-                       self._set_returncode((self.pid, 1))
+                       self._set_returncode((self.pid, 1 << 8))
                        self.wait()
                        return
 
                if not uri_map:
                        # Nothing to fetch.
-                       self._set_returncode((self.pid, os.EX_OK))
+                       self._set_returncode((self.pid, os.EX_OK << 8))
                        self.wait()
                        return
 
@@ -59,7 +59,7 @@ class EbuildFetcher(SpawnProcess):
                if self.prefetch and \
                        self._prefetch_size_ok(uri_map, settings, ebuild_path):
                        self.config_pool.deallocate(settings)
-                       self._set_returncode((self.pid, os.EX_OK))
+                       self._set_returncode((self.pid, os.EX_OK << 8))
                        self.wait()
                        return
 
index 5925ec462a59b8a8122fb155658e4434ab8cc33c..284622d69a2017e39862e3620d69b66c7672cc3d 100644 (file)
@@ -46,7 +46,7 @@ class EbuildMetadataPhase(SubProcess):
                        if not portage.eapi_is_supported(eapi):
                                self.metadata_callback(self.cpv, self.ebuild_path,
                                        self.repo_path, {'EAPI' : eapi}, self.ebuild_mtime)
-                               self._set_returncode((self.pid, os.EX_OK))
+                               self._set_returncode((self.pid, os.EX_OK << 8))
                                self.wait()
                                return
 
@@ -98,7 +98,7 @@ class EbuildMetadataPhase(SubProcess):
                if isinstance(retval, int):
                        # doebuild failed before spawning
                        self._unregister()
-                       self._set_returncode((self.pid, retval))
+                       self._set_returncode((self.pid, retval << 8))
                        self.wait()
                        return
 
index da2b301db10f3a525097e33ba99363bec7141733..b99cf0bb11493598ae7ee4a28649ea0939619775 100644 (file)
@@ -87,7 +87,7 @@ class SubProcess(AbstractPollTask):
                        if e.errno != errno.ECHILD:
                                raise
                        del e
-                       self._set_returncode((self.pid, 1))
+                       self._set_returncode((self.pid, 1 << 8))
                else:
                        if wait_retval[0] != 0:
                                self._set_returncode(wait_retval)
@@ -98,7 +98,7 @@ class SubProcess(AbstractPollTask):
                                        if e.errno != errno.ECHILD:
                                                raise
                                        del e
-                                       self._set_returncode((self.pid, 1))
+                                       self._set_returncode((self.pid, 1 << 8))
                                else:
                                        self._set_returncode(wait_retval)