diff options
-rwxr-xr-x | bin/ebuild-ipc.py | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/bin/ebuild-ipc.py b/bin/ebuild-ipc.py index af152e11e..93991d87a 100755 --- a/bin/ebuild-ipc.py +++ b/bin/ebuild-ipc.py @@ -5,7 +5,6 @@ # This is a helper which ebuild processes can use # to communicate with portage's main python process. -import array import logging import os import pickle @@ -36,7 +35,6 @@ class EbuildIpc(object): # Timeout for each individual communication attempt (we retry # as long as the daemon process appears to be alive). _COMMUNICATE_RETRY_TIMEOUT_SECONDS = 15 - _BUFSIZE = 4096 def __init__(self): self.fifo_dir = os.environ['PORTAGE_BUILDDIR'] @@ -136,19 +134,11 @@ class EbuildIpc(object): # File streams are in unbuffered mode since we do atomic # read and write of whole pickles. input_file = open(self.ipc_out_fifo, 'rb', 0) - buf = array.array('B') - - try: - buf.fromfile(input_file, self._BUFSIZE) - except (EOFError, IOError) as e: - if not buf: - portage.util.writemsg_level( - "ebuild-ipc: %s\n" % (e,), - level=logging.ERROR, noiselevel=-1) + data = input_file.read() retval = 2 - if not buf: + if not data: portage.util.writemsg_level( "ebuild-ipc: %s\n" % \ @@ -158,7 +148,7 @@ class EbuildIpc(object): else: try: - reply = pickle.loads(buf.tostring()) + reply = pickle.loads(data) except SystemExit: raise except Exception as e: |