mercurial/worker.py
changeset 45409 7d24201b6447
parent 45396 26eb62bd0550
child 45844 8f07f5a9c3de
--- a/mercurial/worker.py	Tue Aug 18 15:03:57 2020 -0700
+++ b/mercurial/worker.py	Fri Aug 14 20:45:49 2020 -0700
@@ -71,8 +71,12 @@
         def __init__(self, wrapped):
             self._wrapped = wrapped
 
-        def __getattr__(self, attr):
-            return getattr(self._wrapped, attr)
+        # Do NOT implement readinto() by making it delegate to
+        # _wrapped.readinto(), since that is unbuffered. The unpickler is fine
+        # with just read() and readline(), so we don't need to implement it.
+
+        def readline(self):
+            return self._wrapped.readline()
 
         # issue multiple reads until size is fulfilled
         def read(self, size=-1):
@@ -91,7 +95,7 @@
 
             del view
             del buf[pos:]
-            return buf
+            return bytes(buf)
 
 
 else: