# HG changeset patch # User Alexis S. L. Carvalho # Date 1146415853 -7200 # Node ID 12e11413ca19b9e93e84435c915a34fcf7f73bae # Parent 858df1f354c11def7c699b7eee4f52dcb85656c5 Fix just introduced possible old-http bug My last patch changed httprangereader.read to read only the specified amount of data from the connection, to prevent it from returning more than what was asked. I just realized that this could lead to the connection not being closed. In practice, it looks like the connection is closed just fine, but it's probably safer to read everything and then return only what's necessary. diff -r 858df1f354c1 -r 12e11413ca19 mercurial/httprangereader.py --- a/mercurial/httprangereader.py Sun Apr 30 18:46:49 2006 +0200 +++ b/mercurial/httprangereader.py Sun Apr 30 18:50:53 2006 +0200 @@ -22,4 +22,7 @@ end = self.pos + bytes - 1 req.add_header('Range', 'bytes=%d-%s' % (self.pos, end)) f = urllib2.urlopen(req) - return f.read(bytes) + data = f.read() + if bytes: + data = data[:bytes] + return data