CernVM-FS
2.12.0
|
Public Member Functions | |
ThreadLocalStorage () | |
Public Attributes | |
Fetcher * | fetcher |
int | pipe_wait [2] |
std::vector< int > | other_pipes_waiting |
download::JobInfo | download_job |
Multiple threads might want to download the same object at the same time. If that happens, only the first thread performs the download. The other threads wait on a pipe for a notification from the first thread.
|
inline |
download::JobInfo cvmfs::Fetcher::ThreadLocalStorage::download_job |
It is sufficient to construct the JobInfo object once per thread, not on every call to Fetch().
Definition at line 161 of file fetch.h.
Referenced by cvmfs::Fetcher::Fetch(), and cvmfs::Fetcher::GetTls().
Fetcher* cvmfs::Fetcher::ThreadLocalStorage::fetcher |
Used during cleanup to find tls_blocks_.
Definition at line 146 of file fetch.h.
Referenced by cvmfs::Fetcher::GetTls(), ThreadLocalStorage(), and cvmfs::TLSDestructor().
std::vector<int> cvmfs::Fetcher::ThreadLocalStorage::other_pipes_waiting |
Writer ends of all the pipes of threads that want to download the same object.
Definition at line 156 of file fetch.h.
Referenced by cvmfs::Fetcher::Fetch(), and cvmfs::Fetcher::SignalWaitingThreads().
int cvmfs::Fetcher::ThreadLocalStorage::pipe_wait[2] |
Wait on the reading end if another thread is already downloading the same object.
Definition at line 151 of file fetch.h.
Referenced by cvmfs::Fetcher::CleanupTls(), cvmfs::Fetcher::Fetch(), cvmfs::Fetcher::GetTls(), and ThreadLocalStorage().