Show More
@@ -26,6 +26,7 b' import errno' | |||
|
26 | 26 | import gc |
|
27 | 27 | import hashlib |
|
28 | 28 | import imp |
|
29 | import mmap | |
|
29 | 30 | import os |
|
30 | 31 | import platform as pyplatform |
|
31 | 32 | import re as remod |
@@ -407,6 +408,17 b' class bufferedinputpipe(object):' | |||
|
407 | 408 | self._lenbuf += len(data) |
|
408 | 409 | self._buffer.append(data) |
|
409 | 410 | |
|
411 | def mmapread(fp): | |
|
412 | try: | |
|
413 | fd = getattr(fp, 'fileno', lambda: fp)() | |
|
414 | return mmap.mmap(fd, 0, access=mmap.ACCESS_READ) | |
|
415 | except ValueError: | |
|
416 | # Empty files cannot be mmapped, but mmapread should still work. Check | |
|
417 | # if the file is empty, and if so, return an empty buffer. | |
|
418 | if os.fstat(fd).st_size == 0: | |
|
419 | return '' | |
|
420 | raise | |
|
421 | ||
|
410 | 422 | def popen2(cmd, env=None, newlines=False): |
|
411 | 423 | # Setting bufsize to -1 lets the system decide the buffer size. |
|
412 | 424 | # The default for bufsize is 0, meaning unbuffered. This leads to |
General Comments 0
You need to be logged in to leave comments.
Login now