diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2017-02-07 14:06:01 +0000 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2017-02-07 14:06:01 +0000 |
commit | c52f394f7d77a798fd58d633fb8e6183c04a364f (patch) | |
tree | 6de7b81eb0c7d1c532051493bd5a503a8e10b28d /lib/asan/scripts | |
parent | df75a2d164ac4e7336262e27daa3007903418553 (diff) |
asan_symbolize.py: [Py3] Use text mode with universal_newlines=True for Popen.
With universal_newlines, readline() stalls to fill the buffer. Therefore, let the pipe unbuffered.
This is part of https://reviews.llvm.org/D27404
FIXME: Use Popen.communicate()
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@294303 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/asan/scripts')
-rwxr-xr-x | lib/asan/scripts/asan_symbolize.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/asan/scripts/asan_symbolize.py b/lib/asan/scripts/asan_symbolize.py index d82c6773e..a827618c6 100755 --- a/lib/asan/scripts/asan_symbolize.py +++ b/lib/asan/scripts/asan_symbolize.py @@ -92,7 +92,9 @@ class LLVMSymbolizer(Symbolizer): print ' '.join(cmd) try: result = subprocess.Popen(cmd, stdin=subprocess.PIPE, - stdout=subprocess.PIPE) + stdout=subprocess.PIPE, + bufsize=0, + universal_newlines=True) except OSError: result = None return result @@ -153,7 +155,9 @@ class Addr2LineSymbolizer(Symbolizer): if DEBUG: print ' '.join(cmd) return subprocess.Popen(cmd, - stdin=subprocess.PIPE, stdout=subprocess.PIPE) + stdin=subprocess.PIPE, stdout=subprocess.PIPE, + bufsize=0, + universal_newlines=True) def symbolize(self, addr, binary, offset): """Overrides Symbolizer.symbolize.""" |