From 414d8f195caaaf2c2d9d56a9aba94598a346f512 Mon Sep 17 00:00:00 2001 From: eidheim Date: Sat, 10 Nov 2018 12:45:01 +0100 Subject: [PATCH] Clang index no longer static due to libclang crashes when using the same index in parallel parses. --- src/usages_clang.cc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/usages_clang.cc b/src/usages_clang.cc index 782c1b1..a1bf45d 100644 --- a/src/usages_clang.cc +++ b/src/usages_clang.cc @@ -229,11 +229,11 @@ std::vector Usages::Clang::get_usages(const boost::filesy ++it; } - { - static std::mutex mutex; - std::lock_guard lock(mutex); - // std::cout << "parsing: " << path << std::endl; - } + // { + // static std::mutex mutex; + // std::lock_guard lock(mutex); + // std::cout << "parsing: " << path << std::endl; + // } // auto before_time = std::chrono::system_clock::now(); std::ifstream stream(path.string(), std::ifstream::binary); @@ -253,8 +253,7 @@ std::vector Usages::Clang::get_usages(const boost::filesy flags |= CXTranslationUnit_KeepGoing; #endif - static auto index = std::make_shared(0, 0); - clangmm::TranslationUnit translation_unit(index, path.string(), arguments, &buffer, flags); + clangmm::TranslationUnit translation_unit(std::make_shared(0, 0), path.string(), arguments, &buffer, flags); { static std::mutex mutex;