From ea400f75bc1463c6682d52df46eebb32ed039f2e Mon Sep 17 00:00:00 2001 From: Maksim Sabianin Date: Fri, 1 Mar 2024 19:43:39 +0100 Subject: [PATCH] [SYCL][ClangLinkerWrapper] Fix race condition (#12378) This patch fixes a data race in the following line of the code that is supposed to be run parallelly and needs mutex protection. WrappedOutput.push_back(*SYCLOutputOrErr); --- clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp index bdb218f0dbe7d..07f8a950d0daf 100644 --- a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp +++ b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp @@ -1796,6 +1796,7 @@ Expected> linkAndWrapDeviceFiles( // separate path inside 'linkDevice' call seen above. // This will eventually be refactored to use the 'common' wrapping logic // that is used for other offload kinds. + std::scoped_lock Guard(ImageMtx); WrappedOutput.push_back(*SYCLOutputOrErr); }