[llvm] [Support] Optimize signal handling file removal code (PR #173586)

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Sat Jun 27 16:24:10 PDT 2026


================
@@ -107,8 +107,8 @@ class FileToRemoveList {
   std::atomic<FileToRemoveList *> Next = nullptr;
 
   FileToRemoveList() = default;
-  // Not signal-safe.
-  FileToRemoveList(const std::string &str) : Filename(strdup(str.c_str())) {}
+  // Takes ownership of \p filename.
+  FileToRemoveList(char *filename) : Filename(filename) {}
----------------
MaskRay wrote:

This is needed by the reuse mechanism in `insert()`. The strdup result, `NewFilename`, must be available before the ctor call.

https://github.com/llvm/llvm-project/pull/173586


More information about the llvm-commits mailing list