Mercurial > public > mercurial-scm > hg-stable
diff mercurial/keepalive.py @ 45207:49f8ba4febec stable
keepalive: Do not append _rbuf if _raw_readinto exists (issue6356)
The readline method append to the chunks the content of the _rbuf then there
is a loop that call _raw_read which on Python3 call readinto. But the readinto
version in mercurial append again the _rbuf content. So this creates the
duplicate content. This does not happen in Python2 because _raw_read does not
call readinto.
Differential Revision: https://phab.mercurial-scm.org/D8859
author | C?dric Krier <ced@b2ck.com> |
---|---|
date | Sun, 02 Aug 2020 17:40:35 +0200 |
parents | 9f70512ae2cf |
children | 89a2afe31e82 |
line wrap: on
line diff
--- a/mercurial/keepalive.py Mon Aug 03 23:13:58 2020 +0530 +++ b/mercurial/keepalive.py Sun Aug 02 17:40:35 2020 +0200 @@ -542,7 +542,11 @@ return line # No newline in local buffer. Read until we find one. - chunks = [self._rbuf] + # readinto read via readinto will already return _rbuf + if self._raw_readinto is None: + chunks = [self._rbuf] + else: + chunks = [] i = -1 readsize = self._rbufsize while True: