# HG changeset patch # User Manuel Jacob # Date 1653164642 -7200 # Node ID 4d42a5fb70bf8f79db86467ecc12fb8034fa7fad # Parent 5d28246b9acc8fb9de7cc376b0194d2dc855433f worker: add docstring to _blockingreader diff -r 5d28246b9acc -r 4d42a5fb70bf mercurial/worker.py --- a/mercurial/worker.py Sat May 21 22:22:19 2022 +0200 +++ b/mercurial/worker.py Sat May 21 22:24:02 2022 +0200 @@ -69,6 +69,13 @@ class _blockingreader: + """Wrap unbuffered stream such that pickle.load() works with it. + + pickle.load() expects that calls to read() and readinto() read as many + bytes as requested. On EOF, it is fine to read fewer bytes. In this case, + pickle.load() raises an EOFError. + """ + def __init__(self, wrapped): self._wrapped = wrapped @@ -94,7 +101,7 @@ def readline(self): return self._wrapped.readline() - # issue multiple reads until size is fulfilled + # issue multiple reads until size is fulfilled (or EOF is encountered) def read(self, size=-1): if size < 0: return self._wrapped.readall()