[llvm] [opt-viewer] Fix demangler usage with multiprocessing (PR #228388)
Ömer Sinan Ağacan via llvm-commits
llvm-commits at lists.llvm.org
Sat Oct 3 00:53:56 PDT 2026
================
@@ -46,23 +45,22 @@ class Remark(yaml.YAMLObject):
yaml_loader = Loader
default_demangler = "c++filt -n"
+ demangler_cmd = default_demangler
demangler_proc = None
- demangler_lock = Lock()
-
- @classmethod
- def set_demangler(cls, demangler):
- cls.demangler_proc = subprocess.Popen(
- demangler.split(), stdin=subprocess.PIPE, stdout=subprocess.PIPE
- )
+ demangler_owner_pid = None
@classmethod
def demangle(cls, name):
- with cls.demangler_lock:
- if not cls.demangler_proc:
- cls.set_demangler(cls.default_demangler)
- cls.demangler_proc.stdin.write((name + "\n").encode("utf-8"))
- cls.demangler_proc.stdin.flush()
- return cls.demangler_proc.stdout.readline().rstrip().decode("utf-8")
+ if not cls.demangler_proc or cls.demangler_owner_pid != os.getpid():
----------------
osa1 wrote:
Done, PTAL.
https://github.com/llvm/llvm-project/pull/228388
More information about the llvm-commits
mailing list