summaryrefslogtreecommitdiff
path: root/lib/asan/scripts
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2017-02-07 14:06:01 +0000
committerNAKAMURA Takumi <geek4civic@gmail.com>2017-02-07 14:06:01 +0000
commitc52f394f7d77a798fd58d633fb8e6183c04a364f (patch)
tree6de7b81eb0c7d1c532051493bd5a503a8e10b28d /lib/asan/scripts
parentdf75a2d164ac4e7336262e27daa3007903418553 (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-xlib/asan/scripts/asan_symbolize.py8
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."""