[PATCH] D65915: [clang-doc] Protect Index with mutex during reducing and generation stage
Diego Astiazarán via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 8 10:13:25 PDT 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rL368313: [clang-doc] Protect Index with mutex during reducing and generation stage (authored by DiegoAstiazaran, committed by ).
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Changed prior to commit:
https://reviews.llvm.org/D65915?vs=214047&id=214178#toc
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65915/new/
https://reviews.llvm.org/D65915
Files:
clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp
Index: clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp
===================================================================
--- clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp
+++ clang-tools-extra/trunk/clang-doc/tool/ClangDocMain.cpp
@@ -36,6 +36,7 @@
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/FileSystem.h"
+#include "llvm/Support/Mutex.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/Signals.h"
@@ -246,6 +247,7 @@
llvm::outs() << "Reducing " << USRToBitcode.size() << " infos...\n";
std::atomic<bool> Error;
Error = false;
+ llvm::sys::Mutex IndexMutex;
// ExecutorConcurrency is a flag exposed by AllTUsExecution.h
llvm::ThreadPool Pool(ExecutorConcurrency == 0 ? llvm::hardware_concurrency()
: ExecutorConcurrency);
@@ -289,8 +291,10 @@
return;
}
+ IndexMutex.lock();
// Add a reference to this Info in the Index
clang::doc::Generator::addInfoToIndex(CDCtx.Idx, I);
+ IndexMutex.unlock();
if (auto Err = G->get()->generateDocForInfo(I, InfoOS, CDCtx))
llvm::errs() << toString(std::move(Err)) << "\n";
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65915.214178.patch
Type: text/x-patch
Size: 1250 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190808/1272aa1d/attachment.bin>
More information about the cfe-commits
mailing list