src
FWCore
Concurrency
interface
include_first_syncWait.h
Go to the documentation of this file.
1
#ifndef FWCore_Concurrency_syncWait_h
2
#define FWCore_Concurrency_syncWait_h
3
//
4
// syncWait.h
5
//
6
// This file must be included before any other file that include tbb headers
7
//
8
// Created by Chris Jones on 2/24/21.
9
//
10
#include "
FWCore/Concurrency/interface/WaitingTaskHolder.h
"
11
#include "
FWCore/Concurrency/interface/FinalWaitingTask.h
"
12
#include "oneapi/tbb/task_group.h"
13
#include <exception>
14
15
namespace
edm
{
16
template
<
typename
F>
17
[[nodiscard]] std::exception_ptr
syncWait
(
F
&& iFunc) {
18
std::exception_ptr exceptPtr{};
19
oneapi::tbb::task_group
group
;
20
FinalWaitingTask
last
{
group
};
21
group
.run([&]() { iFunc(
WaitingTaskHolder
(
group
, &
last
)); });
//group.run
22
23
return
last
.waitNoThrow();
24
}
25
}
// namespace edm
26
#endif
/* FWCore_Concurrency_syncWait_h */
edm::syncWait
std::exception_ptr syncWait(F &&iFunc)
Definition:
include_first_syncWait.h:17
watchdog.group
group
Definition:
watchdog.py:82
edm::FinalWaitingTask
Definition:
FinalWaitingTask.h:31
FinalWaitingTask.h
dqmdumpme.last
last
Definition:
dqmdumpme.py:56
edm::WaitingTaskHolder
Definition:
WaitingTaskHolder.h:32
edm
HLT enums.
Definition:
AlignableModifier.h:19
F
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
Definition:
blowfish.cc:163
WaitingTaskHolder.h
Generated for CMSSW Reference Manual by
1.8.14