clang-tools  12.0.0git
Public Member Functions | List of all members
clang::clangd::AsyncTaskRunner Class Reference

Runs tasks on separate (detached) threads and wait for all tasks to finish. More...

#include <Threading.h>

Public Member Functions

 ~AsyncTaskRunner ()
 Destructor waits for all pending tasks to finish. More...
 
void wait () const
 
LLVM_NODISCARD bool wait (Deadline D) const
 
void runAsync (const llvm::Twine &Name, llvm::unique_function< void()> Action)
 

Detailed Description

Runs tasks on separate (detached) threads and wait for all tasks to finish.

Objects that need to spawn threads can own an AsyncTaskRunner to ensure they all complete on destruction.

Definition at line 105 of file Threading.h.

Constructor & Destructor Documentation

◆ ~AsyncTaskRunner()

clang::clangd::AsyncTaskRunner::~AsyncTaskRunner ( )

Destructor waits for all pending tasks to finish.

Definition at line 64 of file Threading.cpp.

References clang::clangd::wait().

Member Function Documentation

◆ runAsync()

void clang::clangd::AsyncTaskRunner::runAsync ( const llvm::Twine &  Name,
llvm::unique_function< void()>  Action 
)

Definition at line 72 of file Threading.cpp.

References Action.

Referenced by clang::clangd::TEST(), and clang::clangd::TEST_F().

◆ wait() [1/2]

void clang::clangd::AsyncTaskRunner::wait ( ) const
inline

◆ wait() [2/2]

bool clang::clangd::AsyncTaskRunner::wait ( Deadline  D) const

Definition at line 66 of file Threading.cpp.

References clang::clangd::wait().


The documentation for this class was generated from the following files: