[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